JPEG文件解码方法、装置和电子设备制造方法及图纸

技术编号:25193588 阅读:27 留言:0更新日期:2020-08-07 21:19
本发明专利技术涉及于图像解码技术领域,具体涉及一种基于Huffman二叉树的JPEG文件解码方法、JPEG文件解码装置和电子设备,包括:基于Huffman二叉树建立表示JPEG文件的Huffman表;其中,Huffman表包括用于记录JPEG文件的Huffman查询码的数目区和用于记录JPEG文件的数据值的数据区,数目区和数据区均按字节流排列,数据区按照数目区的顺序依次排列;对JPEG文件进行解码时,依次读取数目区的字节,并根据字节的读取结果依次将数据区中对应的数据值添加到Huffman二叉树对应的节点。可见,该基于Huffman二叉树的JPEG文件解码方法、JPEG文件解码装置和电子设备,提供了一种全新的JPEG文件解码方法,过程清晰,方便实现。

【技术实现步骤摘要】
JPEG文件解码方法、装置和电子设备
本专利技术涉及图像解码
,具体涉及一种基于Huffman二叉树的JPEG文件解码方法、JPEG文件解码装置和电子设备。
技术介绍
哈夫曼(huffman)二叉树也叫最优二叉树、哈夫曼树,是一种效率最高的判别树。哈夫曼编码(HuffmanCoding)是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman编码方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码。那么如何基于Huffman二叉树将Huffman解码方法应用于JPEG文件的解码,就成为了本领域技术人员的亟待解决的技术问题。
技术实现思路
为克服现有技术存在的上述不足,本专利技术提供一种基于Huffman二叉树的JPEG文件解码方法、JPEG文件解码装置和电子设备,提供了一种全新的JPEG文件解码方法,过程清晰,方便实现。为达此目的,本专利技术采用以下技术方案:第一方面,提供一种基于Huffman二叉树的JPEG文件解码方法,包括:基于Huffman二叉树建立表示所述JPEG文件的Huffman表;其中,所述Huffman表包括用于记录所述JPEG文件的Huffman查询码的数目区和用于记录所述JPEG文件的数据值的数据区,所述数目区和所述数据区均按字节流排列,所述数据区按照所述数目区的顺序依次排列;对所述JPEG文件进行解码时,依次读取所述数目区的字节,并根据所述字节的读取结果依次将所述数据区中对应的数据值添加到所述Huffman二叉树对应的节点。优选的,所述对所述JPEG文件进行解码的过程和对所述JPEG文件进行编码的过程互为逆向过程。优选的,所述Huffman二叉树对应的节点为从所述Huffman二叉树的左侧分支插入的对应的节点。优选的,所述依次读取所述数目区的字节,包括,按照前序遍历的方式依次读取所述数目区的字节。优选的,所述按照前序遍历的方式依次读取所述数目区的字节,包括:读取所述数目区的第一个字节,并根据所述第一个字节的读取结果判断所述Huffman二叉树的对应层的节点是否为有效节点;若是则查找成功,本次查询结束;若不是则按照前序遍历的方式继续依次读取所述数目区的剩余字节,直至查找到有效节点,则查找成功,本次查询结束;若按照前序遍历的方式依次读取完所述数目区的所有字节,仍未查找到有效节点,则查询解码失败,结束解码。优选的,所述基于Huffman二叉树建立表示所述JPEG文件的Huffman表之后,还包括,按照预设规则建立数组模型;其中,所述预设规则包括定义所述数组模型的每个单元的结构、数组和变量,所述单元的结构包括节点的类型、节点的数据和节点的状态;所述数组包括用于存储数据的TableArray二维指针数组,用于保存每层的第一个叶节点的查询码的StartValueArray数组和用于标志该层是否存在可用的叶节点的StatusArray数组,所述变量为用于确定各层的最大数据数目的FastHuffmanTableMaxCount变量。优选的,所述依次读取所述数目区的字节,包括:读取所述数目区的第一个字节,并根据所述第一个字节的读取结果定位到所述TableArray二维指针数组的第一对应位置;若所述第一对应位置的节点是有效节点,则查找成功,本次查询结束;若所述第一对应位置的节点是无效节点,则继续依次读取所述数目区的剩余字节,并把当前字节与所述当前字节之前的所有字节的读取结果一起结合起来组成查询码,根据所述查询码进行位置定位,直至查找到有效节点,则查找成功,本次查询结束;若所述数目区的16位字节均读取完毕,仍未找到有效节点,则查询解码失败,结束解码。优选的,所述Huffman二叉树的数据值按层次平均分布。第二方面,提供一种基于Huffman二叉树的JPEG文件解码装置,包括:表示单元,用于基于Huffman二叉树建立表示所述JPEG文件的Huffman表;其中,所述Huffman表包括用于记录所述JPEG文件的Huffman查询码的数目区和用于记录所述JPEG文件的数据值的数据区,所述数目区和所述数据区均按字节流排列,所述数据区按照所述数目区的顺序依次排列;解码单元,用于对所述JPEG文件进行解码时,依次读取所述数目区的字节,并根据所述字节的读取结果依次将所述数据区中对应的数据值添加到所述Huffman二叉树对应的节点。第三方面,提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的基于Huffman二叉树的JPEG文件解码方法的步骤。本专利技术的有益效果是:一种基于Huffman二叉树的JPEG文件解码方法、JPEG文件解码装置和电子设备,包括:基于Huffman二叉树建立表示所述JPEG文件的Huffman表;其中,所述Huffman表包括用于记录所述JPEG文件的Huffman查询码的数目区和用于记录所述JPEG文件的数据值的数据区,所述数目区和所述数据区均按字节流排列,所述数据区按照所述数目区的顺序依次排列;对所述JPEG文件进行解码时,依次读取所述数目区的字节,并根据所述字节的读取结果依次将所述数据区中对应的数据值添加到所述Huffman二叉树对应的节点。可见,该基于Huffman二叉树的JPEG文件解码方法、JPEG文件解码装置和电子设备,提供了一种全新的JPEG文件解码方法,过程清晰,方便实现。附图说明附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制,在附图中:图1是本专利技术的第一实施例的基于Huffman二叉树的JPEG文件解码方法的流程图;图2是本专利技术的第一实施例的Huffman表的结构示意图;图3是本专利技术的第二实施例的基于Huffman二叉树的JPEG文件解码方法的流程图;图4是本专利技术的第二实施例的Huffman二叉树的结构示意图;图5是本专利技术的第二实施例的JPEG数据表;图6是本专利技术的第三实施例的基于Huffman二叉树的JPEG文件解码方法的流程图;图7是本专利技术的第四实施例的基于Huffman二叉树的JPEG文件解码装置的结构框图;图8是本专利技术的第六实施例的电子设备的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参考图1,其是本专利技术的第一实施例的基于Huffman二叉本文档来自技高网...

【技术保护点】
1.一种基于Huffman二叉树的JPEG文件解码方法,其特征在于,包括:/n基于Huffman二叉树建立表示所述JPEG文件的Huffman表;其中,所述Huffman表包括用于记录所述JPEG文件的Huffman查询码的数目区和用于记录所述JPEG文件的数据值的数据区,所述数目区和所述数据区均按字节流排列,所述数据区按照所述数目区的顺序依次排列;/n对所述JPEG文件进行解码时,依次读取所述数目区的字节,并根据所述字节的读取结果依次将所述数据区中对应的数据值添加到所述Huffman二叉树对应的节点。/n

【技术特征摘要】
1.一种基于Huffman二叉树的JPEG文件解码方法,其特征在于,包括:
基于Huffman二叉树建立表示所述JPEG文件的Huffman表;其中,所述Huffman表包括用于记录所述JPEG文件的Huffman查询码的数目区和用于记录所述JPEG文件的数据值的数据区,所述数目区和所述数据区均按字节流排列,所述数据区按照所述数目区的顺序依次排列;
对所述JPEG文件进行解码时,依次读取所述数目区的字节,并根据所述字节的读取结果依次将所述数据区中对应的数据值添加到所述Huffman二叉树对应的节点。


2.根据权利要求1所述的一种基于Huffman二叉树的JPEG文件解码方法,其特征在于,所述对所述JPEG文件进行解码的过程和对所述JPEG文件进行编码的过程互为逆向过程。


3.根据权利要求1所述的一种基于Huffman二叉树的JPEG文件解码方法,其特征在于,所述Huffman二叉树对应的节点为从所述Huffman二叉树的左侧分支插入的对应的节点。


4.根据权利要求1所述的一种基于Huffman二叉树的JPEG文件解码方法,其特征在于,所述依次读取所述数目区的字节,包括,按照前序遍历的方式依次读取所述数目区的字节。


5.根据权利要求4所述的一种基于Huffman二叉树的JPEG文件解码方法,其特征在于,所述按照前序遍历的方式依次读取所述数目区的字节,包括:
读取所述数目区的第一个字节,并根据所述第一个字节的读取结果判断所述Huffman二叉树的对应层的节点是否为有效节点;若是则查找成功,本次查询结束;若不是则按照前序遍历的方式继续依次读取所述数目区的剩余字节,直至查找到有效节点,则查找成功,本次查询结束;
若按照前序遍历的方式依次读取完所述数目区的所有字节,仍未查找到有效节点,则查询解码失败,结束解码。


6.根据权利要求1所述的一种基于Huffman二叉树的JPEG文件解码方法,其特征在于,所述基于Huffman二叉树建立表示所述JPEG文件的Huffman表之后,还包括,按照预设规则建立数组模型;其中,所述预设规则包括定义所述数组模型的每个单元的结构、数组和变量,所述单元的结构包括节点的类型、节点的数据和节点的状态;所述数组包括用于存储...

【专利技术属性】
技术研发人员:杨正传陶宏孟勤海
申请(专利权)人:上海加糖科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1