一种jpeg霍夫曼解码电路及其解码方法

文档序号:7658053阅读:462来源:国知局
专利名称:一种jpeg霍夫曼解码电路及其解码方法
技术领域
本发明涉及一种JPEG霍夫曼解码电路及其解码方法。
背景技术
霍夫曼编码是一种常用的基于概率统计的无损压缩技术,它用较长的比特对出现概率较高的码字进行编码,用较短的比特对出现概率较低的码字进行编码,从而达到了非常接近理论极限的压缩比。传统的霍夫曼解码通常是通过逐位比较来实现,该方法首先需要根据编码信息重构出用于解码的霍夫曼码表,该码表需要占用较大的存储空间,JPEG标准中示例的典型码表长度约为4Kbit。其次,采用逐位比较的方法通常需要多个时钟周期来解码一个码字,这种方法大大限制了解码速率。与本发明最接近的现有技术为公开号CN 101017574A的专利申请,该专利公开了一种适于JPEG码流的霍夫曼解码方法,该方法根据JPEG码流中的码字个数建立最小码字表和最小码字地址表,然后在霍夫曼解码阶段将输入码流与最小码字表进行并行比较,得到码字长度之后再根据最小码字地址表解码出当前霍夫曼码字的地址,最后得到对应的霍夫曼码字。但是由于JPEG码流中霍夫曼码字长度最长为16位,上述方法中的最小码字表位宽为16位,另外输入码流与最小码字表进行比较时,需要用16个长度分别为1,2,3,..., 15,16的比较器才能解码出当前码字长度,这就会造成解码速度降低,同时增加芯片的硬件成本。在专用集成电路设计中,解码速度和芯片成本都是设计者必须考虑的重要因素, 应该采用高速低成本的霍夫曼解码算法来降低硬件资源的消耗。

发明内容
由于现有技术存在上述问题,本发明提出一种JPEG霍夫曼解码电路及其解码方法,其可有效解决现有技术存在的问题。为了实现上述目的,本发明提供一种JPEG霍夫曼解码方法,在JPEG文件头霍夫曼标记解码阶段,包括如下步骤步骤1.根据不同长度下的霍夫曼码字个数建立霍夫曼最小码字表,所述最小码字表中16个码字的位宽分别为1位,2位,3位,4位,5位,6位,7位,8位,8位,8位,8位,8 位,8位,8位,8位,8位;步骤2.根据不同长度下的霍夫曼码字个数建立霍夫曼最小码字地址表;步骤3.根据16个并行的小于比较器的比较结果,计算出当前霍夫曼码字的长度, 并根据最小码字地址表得到游程编码值并计算出解码数据,其中16个小于比较器的位宽分别是1位,2位,3位,4位,5位,6位,7位,8位,8位,8位,8位,8位,8位,8位,8位,8位。进一步地,步骤1包括如下步骤
步骤1A,从长度为1的最小码字开始,如果当前长度下对应的码字个数为0,则该长度下的最小码字值等于0,如果下一个长度下对应的码字个数为0则重复执行过程1A,如果下一个长度下对应的码字个数不为0则执行步骤IB ;步骤1B,通过以下公式计算出当前长度下对应的最小码字值其中,MinC0de(i)是当前长度为i时的最小码字值,Num⑴是长度为i的码字个数;如果从下一个长度开始到长度为16所对应的码字个数全部为0则执行1C,否则重复执行过程IB。步骤1C,从当前长度开始到长度为16的最小码字全部等于255,即8位全1。进一步地,步骤2通过以下公式计算不同长度下的霍夫曼最小码字地址表
权利要求
1.一种JPEG霍夫曼解码方法,其特征在于,在JPEG文件头霍夫曼标记解码阶段,包括如下步骤步骤1.根据不同长度下的霍夫曼码字个数建立霍夫曼最小码字表,所述最小码字表中16个码字的位宽分别为1位,2位,3位,4位,5位,6位,7位,8位,8位,8位,8位,8位, 8位,8位,8位,8位;步骤2.根据不同长度下的霍夫曼码字个数建立霍夫曼最小码字地址表; 步骤3.根据16个并行的小于比较器的比较结果,计算出当前霍夫曼码字的长度,并根据最小码字地址表得到游程编码值并计算出解码数据,其中16个小于比较器的位宽分别是1位,2位,3位,4位,5位,6位,7位,8位,8位,8位,8位,8位,8位,8位,8位,8位。
2.根据权利要求1所述的JPEG霍夫曼解码方法,其特征在于,步骤1包括如下步骤 步骤1A,从长度为1的最小码字开始,如果当前长度下对应的码字个数为0,则该长度下的最小码字值等于0,如果下一个长度下对应的码字个数为0则重复执行过程1A,如果下一个长度下对应的码字个数不为0则执行步骤IB ;步骤1B,通过以下公式计算出当前长度下对应的最小码字值MinCode(I) = 0;当 / = 1 时MinCode(I) = (MinCode(i — 1) + Num(i)) 1; ^2 </<16时其中,MinC0de(i)是当前长度为i时的最小码字值,Num(i)是长度为i的码字个数; 如果从下一个长度开始到长度为16所对应的码字个数全部为0则执行1C,否则重复执行过程IB。步骤1C,从当前长度开始到长度为16的最小码字全部等于255,即8位全1。
3.根据权利要求1所述的JPEG霍夫曼解码方法,其特征在于,步骤2通过以下公式计算不同长度下的霍夫曼最小码字地址表\MinAddr (I) = 0;当 / = 1 时[MinAddr (/) = MinAddr (/ -1) + Num(i);当 2《/《16时其中,MinAddr (i)是长度为i时的霍夫曼最小码字地址表,Num(i)是长度为i的码字个数。
4.根据权利要求1所述的JPEG霍夫曼解码方法,其特征在于,步骤3包括如下步骤 步骤3A,在前8个小于比较器中,有效输入码流为前η位数据,将有效输入码流值与当前长度为η时的最小码字值进行比较,如果有效输入码流前值小于当前长度为η时的最小码字值,则比较器输出结果为0,否则比较器输出结果为1,其中1 SnS 8;步骤3Β,在后8个小于比较器中,首先根据输入码流判断出该码字是否可能为长码字, 即码字长度是否大于8,如果当前输入码字肯定不是长码字,比较器输出结果直接为0 ;如果可能是长码字,有效输入码流为舍弃前η-8位之后接下来的8位数据,然后将8位有效输入码流值与当前长度为η时的8位最小码字值进行比较,如果8位有效输入码流值小于当前长度为η时的8位最小码字值,则比较器输出结果为0,否则比较器输出结果为1,其中 9彡η彡16 ;步骤3C,通过以下公式将所有比较结果相加得到最终的码字长度CodeLen CodeLen = YjCompin) 1彡η彡16,其中Comp (η)为比较器输出结果;M=I步骤3D,根据当前解码出的码字长度通过以下公式计算得到该长度下的最小码字地址 min_adress :min_adress = MinAddr (CodeLen),其中M i η Α(β id 是长度为 CodeLen 的霍夫曼最小码字地址,根据当前解码出的码字长度通过以下公式计算得到该长度下的最小码字值 m icno—W a min_code_value = MinCode (CodeLen),其中 MinCode (CodeLen)是长度为CodeLen的最小码字值;根据有效输入码流、最小码字值以及最小码字地址通过以下公式计算出当前码字在霍夫曼码表中的地址值symbol_adress symbol_adress = ValidData(CodeLen)+min_code_value-min_address, 其中 Va!idD4i£codeL >长度为CodeLen的有效输入码流;最后根据symboladress查找霍夫曼码字表就可以得到当前码字对应的游程编码值。
5.根据权利要求4所述的JPEG霍夫曼解码方法,其特征在于,步骤:3B中判断是否可能为长码字包括如下步骤如果输入码流的最高位为1,则该输入码流可能是长度为9的长码字,如果输入码流的最高2位全为1,则该输入码流可能是长度为10的长码字,以此类推,如果输入码流的最高8位全为1,则该输入码流可能是长度为16的长码字。
6.一种JPEG霍夫曼解码电路,其特征在于包括根据不同长度下的霍夫曼码字个数建立霍夫曼最小码字表的最小码字表模块; 根据不同长度下的霍夫曼码字个数建立霍夫曼最小码字地址表的最小码字地址表模块;存储霍夫曼码字表的霍夫曼码字表模块; 包含多个比较器的比较器阵列模块;其中比较器阵列模块中各比较器的输入端与有效输入码流和当前最小码字值相连,输出端分别与第一加法器的输入端相连;移位寄存器的输入端分别与输入码流及第一加法器输出端相连,输出端与第二加法器的输入端相连;最小码字表模块的输入端与第一加法器的输出端相连,输出端与减法器的输入端相连;最小码字地址表模块的输入端与第一加法器的输出端相连,输出端与减法器的输入端相连;减法器的输出端与第二加法器的输入端相连; 第二加法器的输出端与霍夫曼码字表模块相连。
7.根据权利要求6所述的JPEG霍夫曼解码电路,其特征在于,比较器阵列模块还包括 8个与门,8个与门的输入端依次分别与第九至第十六比较器的输出端及当前有效输入码流是否可能为长度9至16的长码字相连,输出端与第一加法器的输入端相连,其中当前有效输入码流如果为1表示可能为长码字,如果为O表示不可能为长码字。
全文摘要
本发明公开一种JPEG霍夫曼解码电路及其解码方法,在JPEG文件头霍夫曼标记解码阶段,包括如下步骤步骤1.根据不同长度下的霍夫曼码字个数建立霍夫曼最小码字表,所述最小码字表中16个码字的位宽分别为1位,2位,3位,4位,5位,6位,7位,8位,8位,8位,8位,8位,8位,8位,8位,8位;步骤2.根据不同长度下的霍夫曼码字个数建立霍夫曼最小码字地址表;步骤3.根据16个并行的小于比较器的比较结果,计算出当前霍夫曼码字的长度,并根据最小码字地址表得到游程编码值并计算出解码数据,其中16个小于比较器的位宽分别是1位,2位,3位,4位,5位,6位,7位,8位,8位,8位,8位,8位,8位,8位,8位,8位。
文档编号H04N7/26GK102545910SQ20101061800
公开日2012年7月4日 申请日期2010年12月30日 优先权日2010年12月30日
发明者汤岐 申请人:无锡华润矽科微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1