一种熵编码器及其编码方法技术

技术编号:25959437 阅读:17 留言:0更新日期:2020-10-17 03:52
本发明专利技术公开了一种熵编码器,包括:顺序连接的第一部分电路、第二部分电路和第三部分电路,第一部分电路为ram存储器;第二部分电路包括二值化模块和上下文模型选择模块;第三部分电路包括上下文模型更新模块、编码器概率区间及区间下限更新模块、编码计数器状态更新模块及bit生成模块;二值化模块与上下文模型选择模块并行处理;上下文模型更新模块与编码器概率区间及区间下限更新模块并行处理;编码器概率区间及区间下限更新模块、编码计数器状态更新模块及bit生成模块三个模块为三级流水操作。通过将二进制算术编码模块拆分成功能独立的三个小模块,以此来提高整个二进制算术编码模块的时钟频率,进而提高了熵编码器的输出码率。

【技术实现步骤摘要】
一种熵编码器及其编码方法
本专利技术涉及视频编码
,具体涉及一种熵编码器及其编码方法。
技术介绍
AVS2国家标准是AVS1之后新一代的标准,包括视频、音频以及系统三个部分。AVS2视频编码的目标是超高清晰度视频,支持超高分辨率(4K以上)、高动态范围视频的高效压缩,其中AVS2熵编码器是AVS2视频编码系统中核心编码模块,其主要是在不丢失任何信息的情况下对视频序列进行压缩编码。在现有技术中,AVS2熵编码器主要包括二值化模块、上下文模型模块、二进制算术编码模块。AVS2熵编码器自身包含非常紧密的编码依赖关系,计算复杂,硬件电路实现有一定的挑战性。如果AVS2熵编码器低码率输出时,AVS2熵编码器硬件设计并不复杂,但是如果需要高码率输出时,就需要对AVS2熵编码器进行优化,以降低熵编码器单bit编码的编码时间。
技术实现思路
本专利技术的目的是针对上述现有技术的不足提出的一种熵编码器及其编码方法,该目的是通过以下技术方案实现的。本专利技术的第一方面提出了一种熵编码器,包括:顺序连接的第一部分电路、第二部分电路和第三部分电路,所述第一部分电路为存储语法元素的ram存储器;所述第二部分电路包括二值化模块和上下文模型选择模块;所述第三部分电路包括上下文模型更新模块、编码器概率区间及区间下限更新模块、编码计数器状态更新模块及bit生成模块;其中,所述二值化模块与所述上下文模型选择模块并行处理;所述上下文模型更新模块与所述编码器概率区间及区间下限更新模块并行处理;所述编码器概率区间及区间下限更新模块、编码计数器状态更新模块及bit生成模块三个模块为三级流水操作。本专利技术的第二方面提出了一种应用如上述第一方面所述的熵编码器的编码方法,方法包括:通过二值化模块读取ram存储器中的语法元素并转换为二进制串,将所述二进制串传输至编码器概率区间及区间下限更新模块,同时通过上下文模型选择模块读取ram存储器中的语法元素并选择对应的上下文模型,并将所述上下文模型的索引传输至编码器概率区间及区间下限更新模块和上下文模型更新模块;通过所述编码器概率区间及区间下限更新模块利用所述二进制串和所述索引对应的上下文模型对编码区间和区间下限进行更新,并将更新过程中产生的中间变量传输至编码计数器状态更新模块;同时通过所述上下文模型更新模块对所述索引对应的上下文模型进行更新;通过所述编码计数器状态更新模块根据所述中间变量生成编码数据并更新编码计数器的计数值,将所述编码数据和所述计数值传输至bit生成模块;通过所述bit生成模块依据所述计数值和所述编码数据生成bit码流。基于上述第一方面所述的熵编码器,通过将运算复杂的一个大的二进制算术编码模块的关键路径进行拆分,拆分成功能独立的三个小模,即块编码器概率区间及区间下限更新模块、编码计数器状态更新模块及bit生成模块,并且三个小模块做三级流水操作,以此来减少每个模块的单位时间计算量,提高整个二进制算术编码模块的时钟频率,进而降低了完成一个最大编码单元(LCU)的语法元素的编码耗时,提高了熵编码器的输出码率。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术根据一示例性实施例示出的一种熵编码器的结构示意图;图2为本专利技术根据一示例性实施例示出的一种熵编码器的编码方法的实施例流程图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。在本专利技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本专利技术。在本专利技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本专利技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本专利技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。目前,为了提高熵编码器的输出码率,通常通过多路熵编码模块并行进行熵编码,而这就增加了硬件成本,并且控制流程复杂。为解决上述技术问题,本专利技术提出一种熵编码器,该熵编码器是在一路熵编码模块的前提下提高编码器的整体运行频率,进而提高编码器的输出码率。熵编码器包含非常紧密的编码依赖关系,计算复杂,其中的二进制算术编码模块完成一个最大编码单元(LCU)的语法元素的编码所需要的时钟周期数固定不变,而由于二进制算术编码模块是一个运算复杂的大模块,因此其运行的时钟频率比较小,导致编码耗时,输出码率低。专利技术人通过分析二进制算术编码模块的编码原理,将运算复杂的一个大的二进制算术编码模块的关键路径进行拆分,拆分成功能独立的三个小模,即块编码器概率区间及区间下限更新模块、编码计数器状态更新模块及bit生成模块,并且三个小模块做三级流水操作,以此来减少每个模块的单位时间计算量,提高整个二进制算术编码模块的时钟频率,进而降低了完成一个最大编码单元(LCU)的语法元素的编码耗时,提高了熵编码器的输出码率。与此同时,专利技术人还将上下文模型模块也拆分成功能独立的上下文模型选择模块和上下文模型更新模块。如图1所示的熵编码器的结构示意图,包括依次顺序连接的第一部分电路10、第二部分电路20和第三部分电路30,第一部分电路10为存储语法元素的ram存储器;第二部分电路20包括二值化模块和上下文模型选择模块;第三部分电路30包括上下文模型更新模块、编码器概率区间及区间下限更新模块、编码计数器状态更新模块及bit生成模块。其中,编码器概率区间及区间下限更新模块、编码计数器状态更新模块及bit生成模块三个模块为三级流水操作。进一步地,为了避免选择的上下文模型中的数据在使用做编码前被上下文模型更新模块修改,因此将上下文模型更新模块设置在第二电路部分20中,且上下文模型更新模块与编码器概率区间及区间下限更新模块并行进行处理,另外,第一部分电路10中的二值化模块与上下文模型选择模块并行进行处理,以进一步提高整体编码器在单位时间内的计算量。需要说明的是,由于FIFO的硬件资源有限,如果在其中存多个最大编码单元的语法元素,由于每个最大编码单元之间没有任何区分标记,那么第二部分电路在读取时是无法区分的,因此只能是每次只存一个最大编码单元的语法元素,只有该最大编码单元的语法元素本文档来自技高网...

【技术保护点】
1.一种熵编码器,其特征在于,包括:顺序连接的第一部分电路、第二部分电路和第三部分电路,所述第一部分电路为存储语法元素的ram存储器;所述第二部分电路包括二值化模块和上下文模型选择模块;所述第三部分电路包括上下文模型更新模块、编码器概率区间及区间下限更新模块、编码计数器状态更新模块及bit生成模块;/n其中,所述二值化模块与所述上下文模型选择模块并行处理;所述上下文模型更新模块与所述编码器概率区间及区间下限更新模块并行处理;所述编码器概率区间及区间下限更新模块、编码计数器状态更新模块及bit生成模块三个模块为三级流水操作。/n

【技术特征摘要】
1.一种熵编码器,其特征在于,包括:顺序连接的第一部分电路、第二部分电路和第三部分电路,所述第一部分电路为存储语法元素的ram存储器;所述第二部分电路包括二值化模块和上下文模型选择模块;所述第三部分电路包括上下文模型更新模块、编码器概率区间及区间下限更新模块、编码计数器状态更新模块及bit生成模块;
其中,所述二值化模块与所述上下文模型选择模块并行处理;所述上下文模型更新模块与所述编码器概率区间及区间下限更新模块并行处理;所述编码器概率区间及区间下限更新模块、编码计数器状态更新模块及bit生成模块三个模块为三级流水操作。


2.根据权利要求1所述的熵编码器,其特征在于,还包括:与所述第三部分电路连接的第四部分电路、与所述第四部分电路连接的第五部分电路;
所述第四部分电路为码流串行化模块,所述第五部分电路为伪起始码检测模块。


3.根据权利要求2所述的熵编码器,其特征在于,还包括:用于连接所述第一部分电路与所述第二部分电路的第一FIFO存储器;
用于连接所述编码器概率区间及区间下限更新模块与所述编码计数器状态更新模块的第二FIFO存储器;
用于连接所述编码计数器状态更新模块与所述bit生成模块的第三FIFO存储器;
与所述第五部分电路的输出端连接的第四FIFO存储器。


4.根据权利要求3所述的熵编码器,其特征在于,所述第一FIFO存储器、所述第二FIFO存储器、所述第三FIFO存储器及所述第四FIFO存储器均为同步FIFO。


5.一种应用如上述权利要求1-4任一项所述的熵编码器的编码方法,其特征在于,所述方法包括:
通过二值化模块读取ram存储器中的语法元素并转换为二进制串,将所述二进制串传输至编码器概率区间及区间下限更新模块,同时通过上下文模型选择模块读取ram存储器中的语法元素并选择对应的上下文模型,并将所述上下文模型的索引传输至编码器概率区间及区间下限更新模块和上下文模型更新模块;
通过所述编码器概率区间及区间...

【专利技术属性】
技术研发人员:王世超严韫瑶文湘鄂宋磊
申请(专利权)人:北京博雅慧视智能技术研究院有限公司
类型:发明
国别省市:北京;11

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

1