码流数据的编码、解码方法和装置制造方法及图纸

技术编号:9035712 阅读:125 留言:0更新日期:2013-08-15 02:28
一种码流数据的编码方法及解码方法,码流数据的编码装置及解码装置,所述码流数据的编码方法包括:获取码流数据的语法元素,确定所获取的语法元素的目标编码进制及编码位数;基于所确定的目标编码进制生成所述获取的语法元素的进制字符串;基于所生成的进制字符串的字符的概率分布确定与所述生成的进制字符串相匹配的进制子区间;在所确定的进制子区间的上下界的最高字节相等时,提取该进制子区间的上下界中相同的字节,以作为编码后的码流数据。本发明专利技术的技术方案提高了码流数据解压缩的速度,增加了数据的吞吐量,且提高了系统的性能。

【技术实现步骤摘要】

本专利技术涉及编解码
,尤其是一种码流数据的编码方法及解码方法,码流数据的编码装置及解码装置。
技术介绍
在现有嵌入式计算机应用中,固件的数据以及代码是经过压缩以后存储在闪存中。闪存大小是有限的,而随着嵌入式计算机需要支持的应用越来越多,固件代码也越来越大,相应的,所需的存储量也越来越大。正因为如此,高压缩比的数据压缩算法对于固件的存储来说十分重要。在现有众多压缩算法中,LZMA (Lempel-Ziv-Markov chain-Algorithm)算法以其高压缩率而被广泛地应用于各种嵌入式设备的固件压缩中。LZMA算法主要由两部分构成:字典编码和区间编码。在进行解压缩时,需要先对压缩文件进行区间解码,输出相应的语法元素,而后通过语法元素重构出原来的内容。 LZMA算法具有很高的压缩比,通常情况下可以将数据量减少为原来的二分之一,这在很大程度上减少了所需要的闪存存储量。从而节省了整个芯片的成本和面积。但是,LZMA的高压缩比是以其较低的实时性作为代价的。在编码过程中,首先要进行字典编码的查找,而后进行区间编码,这两部分都是十分复杂并且耗时的过程。而相应的,在解码的过程中,由于不需要进行字典查找的过程,故主要的复杂度在区间解码。在嵌入式应用中,一般固件都事先在产品出厂之前离线压缩好并烧入闪存中,而在真正的嵌入式应用中只需要将固件解压缩到内存中运行即可。将LZMA算法应用于固件压缩的瓶颈在于其解码速度,也就是说区间解码的速度。具体的编解码技术可以参考公开号为US 2009/0112897A1的美国专利申请。因此,如何提高解压缩的速度,增加数据的吞吐量,提高系统的性能成为目前亟待解决的问题之一。
技术实现思路
本专利技术解决的问题是现有技术中解压缩的速度低,数据的吞吐量小,系统的性能低的问题。为解决上述问题,本专利技术的技术方案提供了一种码流数据的编码方法,包括:获取码流数据的语法元素,确定所获取的语法元素的目标编码进制;基于所确定的目标编码进制生成所述获取的语法元素的进制字符串;基于所生成的进制字符串的字符的概率分布确定与所述生成的进制字符串相匹配的进制子区间;在所确定的进制子区间的上下界的最高字节相等时,提取该进制子区间的上下界中相同的字节,以作为编码后的码流数据。为解决上述问题,本专利技术的技术方案还提供了一种码流数据的解码方法,包括:确定编码后的码流数据中需要解码的语法元素,确定所获取的语法元素的目标解码进制和解码位数;基于所确定的目标解码进制下字符的概率分布及所获取的语法元素确定与所获取的语法元素相匹配的进制子区间,获取与该进制子区间对应的所述目标解码进制下的字符。为解决上述问题,本专利技术的技术方案还提供了一种码流数据的编码装置,包括:语法元素判决器,用以获取码流数据的语法元素,确定所获取的语法元素的目标编码进制;字符生成器,用以基于所确定的目标编码进制生成所述获取的语法元素的进制字符串;区间计算器,用以基于所生成的进制字符串的字符的概率分布确定与所述生成的进制字符串相匹配的进制子区间;在所确定的进制子区间的上下界的最高字节相等时,提取该进制子区间的上下界中相同的字节,以作为编码后的码流数据。为解决上述问题,本专利技术的技术方案还提供了一种码流数据的解码装置,包括:语法元素判决器,用以获取编码后的码流数据的语法元素,确定所获取的语法元素的目标解码进制和解码位数;区间计算器,用以基于所确定的目标解码进制下字符的概率分布及所获取的语法元素确定与所获取的语法元素相匹配的进制子区间,获取与该进制子区间对应的所述目标解码进制下的字符。与现有技术相比,本专利技术具有以下优点:分情况确定语法元素的目标编码进制,对于不同的语法元素分别确定目标编码进制,选择适合当前语法元素的目标编码进制,以提高LZMA算法进行解压缩的速度,使得解压缩时的数据吞吐量更高。所述语法元素是通过LZMA算法得到的,分情况确定语法元素的目标编码进制,确定至少两种目标编码进制,例如二进制和四进制,二进制和八进制,多个语法元素可以同步进行编码或解码,从而实现嵌入式系统的实时性,提高整个系统的性能并且可以保持原来的压缩比不变。附图说明图1是本专利技术实施例提供的码流数据的编码方法的流程图;图2是本专利技术实施例提供的码流数据的解码方法的流程图;图3是本专利技术实施例提供的码流数据的编码装置的结构图;图4是本专利技术实施例提供的码流数据的解码装置的结构图;图5是LZMA的语法结构的示意图;图6是长度length的解码流程的示意图;图7是distance语法元素的解码流程图;图8是图7所示的distance划分的集合的示意图;图9是现有技术中LZMA码流数据的编码装置的示意图;图10是现有技术中LZMA码流数据的解码装置的示意图;图11是本专利技术实 施例中LZMA码流数据的编码装置的示意图12是本专利技术实施例中LZMA码流数据的解码装置的示意图。具体实施例方式为使本专利技术的上述目的、特征和优点能够更为明显易懂,下面结合附图对本专利技术的具体实施方式做详细的说明。在以下描述中阐述了具体细节以便于充分理解本专利技术。但是本专利技术能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本专利技术内涵的情况下做类似推广。因此本专利技术不受下面公开的具体实施方式的限制。图1是本专利技术实施例提供的码流数据的编码方法的流程图,下面结合图1详细说明。所述码流数据的编码方法包括: 步骤SI,获取码流数据的语法元素,确定所获取的语法元素的目标编码进制及编码位数;步骤S2,基于所确定的目标编码进制生成所述获取的语法元素的进制字符串;步骤S3,基于所生成的进制字符串的字符的概率分布确定与所述生成的进制字符串相匹配的进制子区间;步骤S4,在所确定的进制子区间的上下界的最高字节相等时,提取该进制子区间的上下界中相同的字节,以作为编码后的码流数据。所述步骤SI中,所述码流数据包括至少两种语法元素,所述确定所获取的语法元素的目标编码进制包括:对于不同的语法元素分别确定目标编码进制,确定至少两种目标编码进制。所述语法元素是通过LZMA算法得到的。所述语法元素包括文字和标志位,或者所述语法元素包括文字和标志位、长度和距离。所述标志位的目标编码进制为二进制,所述标志位的编码位数为一位,所述文字的目标编码进制为四进制或八进制,所述文字的编码位数为两位或三位,或者所述文字、长度和距离的目标编码进制为四进制或八进制,所述文字、长度和距离的编码位数为两位或三位。所述步骤S2中,所述语法元素为以初始编码进制编码的字符串,所述语法元素的目标编码进制不同于所述初始编码进制。语法元素初始的字符串通常可以是二进制字符串,或者ASCII码。若所述语法元素中包括文字和标志位,所述标志位的目标编码进制为二进制,所述文字的目标编码进制为四进制,所述基于所确定的目标编码进制生成所述获取的语法元素的进制字符串包括:输出所述文字的二进制字符串;按照所述文字的二进制字符串的顺序,每编码位数个字符确定所述文字的进制字符串的一个字符并输出得到所述文字的进制字符串。所述步骤S3中,所述语法元素包括文字和标志位,或者所述语法元素包括文字和标志位、长度和距离时,所述文字的目标编码进制下字符的概率分布基于所述标志位的目标编码进制下字符的概率分布确定。所述初始区间的长度可本文档来自技高网
...

【技术保护点】
一种码流数据的编码方法,其特征在于,包括:获取码流数据的语法元素,确定所获取的语法元素的目标编码进制及编码位数;基于所确定的目标编码进制生成所述获取的语法元素的进制字符串;基于所生成的进制字符串的字符的概率分布确定与所述生成的进制字符串相匹配的进制子区间;在所确定的进制子区间的上下界的最高字节相等时,提取该进制子区间的上下界中相同的字节,以作为编码后的码流数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:李尚文罗小伟
申请(专利权)人:展讯通信上海有限公司
类型:发明
国别省市:

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

1