数据编码方法及装置制造方法及图纸

技术编号:18663048 阅读:35 留言:0更新日期:2018-08-11 16:37
本公开提供一种数据编码方法及装置,涉及数据处理领域,能够解决现有Cabac单比特编码速率低的问题,提高编码效率。具体技术方案为:获取N比特待编码数据;获取N比特待编码数据中每个待编码数据的概率状态值;根据每个待编码数据的概率状态值和每个待编码数据编码前的编码区间长度值,获取每个待编码数据的编码区间长度值和对应的归一化次数;根据每个待编码数据的符号类型和每个待编码数据的编码区间长度值,计算得到每个待编码数据的编码区间下限值;根据每个待编码数据的编码区间下限值和归一化次数,查询编码信息表得到N比特待编码数据的编码码流。本发明专利技术用于多比特数据编码。

Data encoding method and device

The present disclosure provides a data encoding method and device, which relates to the field of data processing, can solve the problem of low coding rate of existing Cabac single bit and improve coding efficiency. Specific technical schemes are: acquiring N-bit data to be encoded; acquiring the probabilistic state value of each data to be encoded in N-bit data to be encoded; acquiring the coding interval length value and corresponding regression of each data to be encoded according to the probabilistic state value of each data to be encoded and the coding interval length value before each data to be encoded. According to the symbol type of each data to be encoded and the coding interval length value of each data to be encoded, the lower limit value of the coding interval of each data to be encoded is calculated; according to the lower limit value and the normalization number of the coding interval of each data to be encoded, the coding information table is queried to get the coding of N-bit data to be encoded. Code stream. The invention is used for multi bit data encoding.

【技术实现步骤摘要】
数据编码方法及装置
本公开涉及数据处理领域,尤其涉及数据编码方法及装置。
技术介绍
Cabac(Context-basedAdaptiveBinaryArithmeticCoding,基于上下文的自适应二进制算术编码)编码是一种广泛应用于图像处理、云计算的海量数据处理的编码技术,其主要思想是用区间0到1上的一个实数表示整个输入的码流,而不是为输入码流中的每一个字符都指定一个码字。算术编码使用层层递进的方式为输入的整个码流寻找这个码字,它从输入的第一个符号开始确定初始区间(0到1)中的一个子区间,作为编码下一个字符的当前区间,在编码一个新的字符时根据各个字符出现的概率递归地划分当前区间,将当前区间划分成若干子区间,将当前编码字符对应的子区间取出,作为新的编码区间,依此类推,编码完最后一个字符就得到了最终区间,在最终区间中任意挑选一个实数作为输出,这样,可以大幅度的降低数据的存储空间,提升数据传输的吞吐率。但目前Cabac编码大多采用单比特编解码,即一个时钟周期只能编码1bit数据,编码速度低。
技术实现思路
本公开实施例提供一种数据编码方法及装置,能够解决现有Cabac单比特编码速率低的问题,提高编码效率。所述技术方案如下:根据本公开实施例的第一方面,提供一种数据编码方法,该方法包括:获取N比特待编码数据;获取N比特待编码数据中每个待编码数据的概率状态值;根据每个待编码数据的概率状态值和每个待编码数据编码前的编码区间长度值,获取每个待编码数据的编码区间信息,编码区间信息中包括编码区间长度值和对应的归一化次数;根据每个待编码数据的符号类型和每个待编码数据的编码区间长度值,计算得到每个待编码数据的编码区间下限值;根据每个待编码数据的编码区间下限值和归一化次数,查询编码信息表得到N比特待编码数据的编码码流。该方法对N比特待编码数据同时进行编码,在编码过程中,通过查询的方式快速得到N比特待编码数据的编码码流,能够解决现有Cabac单比特编码速率低的问题,提高编码效率。在一个实施例中,获取N比特待编码数据中每个待编码数据的概率状态值包括:获取N比特待编码数据中每个待编码数据的上下文索引值;根据每个待编码数据的上下文索引值,从预设概率状态表中查询得到每个待编码数据的概率状态值。根据每个待编码数据的上下文索引值,在预设概率状态表中进行查询,得到每个待编码数据对应的概率状态值。通过查表的方式能够快速的获取概率状态值,提高编码效率。在一个实施例中,根据每个待编码数据的概率状态值和每个待编码数据编码前的编码区间值,获取每个待编码数据的编码区间信息包括:根据每个待编码数据的概率状态值,从预设区间信息表中获取得到每个待编码数据的编码区间集合,编码区间集合中包括四的编码区间长度值和对应的归一化次数;根据第i-1比特位的待编码数据的编码区间长度值,从第i比特位待编码数据对应的编码区间集合中选取第i比特位待编码数据的编码区间信息,其中,1≤i≤N且i为整数。根据每个待编码数据的概率状态值和每个待编码数据编码前的编码区间值,通过查询的方式能够快速获取每个待编码数据的编码区间信息,提高编码效率。在一个实施例中,根据每个待编码数据的符号类型和每个待编码数据的编码区间长度值,计算得到每个待编码数据的编码区间下限值包括:判断每个比特位待编码数据的符号类型;在第i比特位待编码数据的符号类型为小概率符号时,根据第i比特位待编码数据的编码区间长度值和第i-1比特位待编码数据的编码区间下限值,计算得到第i比特位待编码数据的编码区间下限值;在第i比特位待编码数据的符号类型为大概率符号时,第i比特位待编码数据的编码区间下限值等于第i-1比特位待编码数据的编码区间下限值,其中,1≤i≤N且i为整数。在一个实施例中,根据每个待编码数据的编码区间下限值和归一化次数,查询编码信息表得到N比特待编码数据的编码码流包括:根据每个待编码数据的编码区间下限值和归一化次数,查询编码信息表得到每个待编码数据的确定性比特的数量、确定性比特值和非确定性比特的数量;对每个待编码数据的确定性比特的数量、确定性比特值和非确定性比特的数量进行整合,得到N比特待编码数据的编码码流。通过查表的方式快速进行归一化,得到N路编码数据,同时,将N路编码数据整合成一路,得到N比特待编码数据的编码码流,提高编码效率。根据本公开实施例的第二方面,提供一种数据编码装置,包括:第一获取模块,用于获取N比特待编码数据;第二获取模块,用于获取N比特待编码数据中每个待编码数据的概率状态值;第三获取模块,用于根据每个待编码数据的概率状态值和每个待编码数据编码前的编码区间长度值,获取每个待编码数据的编码区间信息,编码区间信息中包括编码区间长度值和对应的归一化次数;计算模块,用于根据每个待编码数据的符号类型和每个待编码数据的编码区间长度值,计算得到每个待编码数据的编码区间下限值;查询模块,用于根据每个待编码数据的编码区间下限值和归一化次数,查询编码信息表得到N比特待编码数据的编码码流。在一个实施例中,第二获取模块包括:第一获取子模块和第一查询子模块;第一获取子模块,用于获取N比特待编码数据中每个待编码数据的上下文索引值;第一查询子模块,用于根据每个待编码数据的上下文索引值,从预设概率状态表中查询得到每个待编码数据的概率状态值。在一个实施例中,第三获取模块包括:第二查询子模块和第二获取子模块;第二查询子模块,用于根据每个待编码数据的概率状态值,从预设区间信息表中查询得到每个待编码数据的编码区间集合,编码区间集合中包括四个不同编码区间长度值和对应的归一化次数;第二获取子模块,用于根据第i-1比特位的待编码数据的编码区间长度值,从第i比特位待编码数据对应的编码区间集合中选取第i比特位待编码数据的编码区间信息,其中,1≤i≤N且i为整数。在一个实施例中,计算模块包括:判断子模块和计算子模块;判断子模块,用于判断每个比特位待编码数据的符号类型;计算子模块,用于在第i比特位待编码数据的符号类型为小概率符号时,根据第i比特位待编码数据的编码区间长度值和第i-1比特位待编码数据的编码区间下限值,计算得到第i比特位待编码数据的编码区间下限值;计算子模块,用于在第i比特位待编码数据的符号类型为大概率符号时,第i比特位待编码数据的编码区间下限值等于第i-1比特位待编码数据的编码区间下限值,其中,1≤i≤N且i为整数。在一个实施例中,查询模块包括:第三查询子模块和整合子模块;第三查询子模块,用于根据每个待编码数据的编码区间下限值和归一化次数,查询编码信息表得到每个待编码数据的确定性比特的数量、确定性比特值和非确定性比特的数量;整合子模块,用于对每个待编码数据的确定性比特的数量、确定性比特值和非确定性比特的数量进行整合,得到N比特待编码数据的编码码流。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1是本公开实施例提供的一种数据编码方法的流程图;图2是本公开实施例提供的一种数据编码装置的结构示意图;图3是本公开实施例提供的一种多比特概率更新及查询示意图;图4是本公开实施例提供的一本文档来自技高网...

【技术保护点】
1.一种数据编码方法,其特征在于,所述方法包括:获取N比特待编码数据;获取所述N比特待编码数据中每个待编码数据的概率状态值;根据所述每个待编码数据的概率状态值和所述每个待编码数据编码前的编码区间长度值,获取所述每个待编码数据的编码区间信息,所述编码区间信息中包括编码区间长度值和对应的归一化次数;根据所述每个待编码数据的符号类型和所述每个待编码数据的编码区间长度值,计算得到所述每个待编码数据的编码区间下限值;根据所述每个待编码数据的编码区间下限值和归一化次数,查询编码信息表得到所述N比特待编码数据的编码码流。

【技术特征摘要】
1.一种数据编码方法,其特征在于,所述方法包括:获取N比特待编码数据;获取所述N比特待编码数据中每个待编码数据的概率状态值;根据所述每个待编码数据的概率状态值和所述每个待编码数据编码前的编码区间长度值,获取所述每个待编码数据的编码区间信息,所述编码区间信息中包括编码区间长度值和对应的归一化次数;根据所述每个待编码数据的符号类型和所述每个待编码数据的编码区间长度值,计算得到所述每个待编码数据的编码区间下限值;根据所述每个待编码数据的编码区间下限值和归一化次数,查询编码信息表得到所述N比特待编码数据的编码码流。2.根据权利要求1所述的方法,其特征在于,所述获取所述N比特待编码数据中每个待编码数据的概率状态值包括:获取所述N比特待编码数据中每个待编码数据的上下文索引值;根据所述每个待编码数据的上下文索引值,从预设概率状态表中查询得到所述每个待编码数据的概率状态值。3.根据权利要求2所述的方法,其特征在于,所述根据所述每个待编码数据的概率状态值和每个待编码数据编码前的编码区间值,获取所述每个待编码数据的编码区间信息包括:根据所述每个待编码数据的概率状态值,从预设区间信息表中获取得到所述每个待编码数据的编码区间集合,所述编码区间集合中包括四个编码区间长度值和对应的归一化次数;根据第i-1比特位的待编码数据的编码区间长度值,从所述第i比特位待编码数据对应的编码区间集合中选取所述第i比特位待编码数据的编码区间信息,其中,1≤i≤N且i为整数。4.根据权利要求1所述的方法,其特征在于,所述根据所述每个待编码数据的符号类型和所述每个待编码数据的编码区间长度值,计算得到所述每个待编码数据的编码区间下限值包括:判断所述每个比特位待编码数据的符号类型;在所述第i比特位待编码数据的符号类型为小概率符号时,根据所述第i比特位待编码数据的编码区间长度值和第i-1比特位待编码数据的编码区间下限值,计算得到所述第i比特位待编码数据的编码区间下限值;在所述第i比特位待编码数据的符号类型为大概率符号时,所述第i比特位待编码数据的编码区间下限值等于第i-1比特位待编码数据的编码区间下限值,其中,1≤i≤N且i为整数。5.根据权利要求1所述的方法,其特征在于,所述根据所述每个待编码数据的编码区间下限值和归一化次数,查询编码信息表得到所述N比特待编码数据的编码码流包括:根据所述每个待编码数据的编码区间下限值和归一化次数,查询编码信息表得到所述每个待编码数据的确定性比特的数量、确定性比特值和非确定性比特的数量;对所述每个待编码数据的确定性比特的数量、确定性比特值和非确定性比特的数量进行...

【专利技术属性】
技术研发人员:薛惠锋马传文李聪聪杨丽宁苏睿
申请(专利权)人:西安万像电子科技有限公司
类型:发明
国别省市:陕西,61

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

1