CN109922341A - Avs2高级熵编码器实现方法及装置 - Google Patents
Avs2高级熵编码器实现方法及装置 Download PDFInfo
- Publication number
- CN109922341A CN109922341A CN201711325015.5A CN201711325015A CN109922341A CN 109922341 A CN109922341 A CN 109922341A CN 201711325015 A CN201711325015 A CN 201711325015A CN 109922341 A CN109922341 A CN 109922341A
- Authority
- CN
- China
- Prior art keywords
- module
- context model
- avs2
- entropy coder
- coder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 2
- 230000003139 buffering effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 7
- 239000002699 waste material Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供AVS2高级熵编码器实现方法及装置。该编码器主要由二值化模块、上下文模型模块、算术编码模块组成。在进行高级熵编码时,将上下文模型模块拆分成上下文模型选择模块和上下文模型更新模块,将算术编码模块拆分成编码器状态更新模块和bit生成模块。上述模块采用流水结构,提高熵编码器吞吐率。上下文模型直接使用寄存器存储的方法实现,使上下文模型达到快速存取的目的,并降低硬件实现的复杂度。二值化模块与上下文模型选择模块并行处理,上下文模型更新模块与编码器状态更新模块并行处理,提高熵编码器的处理性能。硬件电路实现装置中使用异步FIFO进行数据缓存及实现前后级模块的跨时钟域操作。
Description
技术领域
本发明涉及一种AVS2高级熵编码器实现方法及装置。
背景技术
AVS2国家标准是AVS1之后新一代的标准,包括视频、音频以及***三个部分。AVS2视频编码的目标,是在保证视频主观质量的同时,在高清或更高分辨率下至少比AVS1编码性能提高1倍。AVS2高级熵编码器是AVS2视频编码***中核心编码模块,主要是在不丢失任何信息的情况下对视频序列进行压缩编码。
AVS2高级熵编码主要有二值化模块、上下文模型模块、算术编码模块组成。为了避免算术编码过程中引入乘法和除法运算,AVS2在编码的过程中把运算域从实数域转化到对数域,这样实数域的乘法和除法运算在对数域只需要通过加法和减法运算即可完成。由于算术编码模块在编码已经二值化之后的数值时需要该数值对应的概率模型,因此上下文模型模块主要是在编码的时候自适应地去计算相应语法元素对应的条件概率。
AVS2熵编码器自身包含非常紧密的编码依赖关系,视频序列对高级熵编码器低吞吐率输出的时候,AVS2高级熵编码器设计并不复杂,但是在高吞吐率输出的时候,AVS2视频编码器就需要对高级熵编码器进行优化处理,降低AVS2熵编码器单bit编码的编码时间,提高AVS2熵编码器的编码吞吐率。
发明内容
本发明的目的在于提供一种AVS2高级熵编码器实现方法及装置,使高级熵编码器每一个时钟周期输出一bit的编码码流,进而提高整体编码模块的吞吐率。
本发明提供一种AVS2高级熵编码器,主要由二值化模块、上下文模型模块、算术编码模块组成;二值化模块主要是对需要进行二值化操作的语法元素进行二值化操作;上下文模块主要是存储不同语法元素相应二值化值所对应的概率值;熵编码完成对不同语法元素二值化值选择对应的概率模型,然后对其进行压缩编码。
本发明提供一种AVS2高级熵编码器实现方法,其提高熵编码器吞吐率,将上下文模型模块拆分成功能独立的上下文模型选择模块和上下文模型更新模块,将算术编码模块拆分成功能独立的编码器状态更新模块和bit生成模块;二值化模块与上下文模型选择模块并行处理,提高熵编码器的处理能力;上下文模型采用寄存器的方式进行存取,简化设计复杂度,方便硬件实现,达到快速存取目的,上下文模型更新与编码器状态更新模块并行处理;使用异步FIFO作为前后级流水中间变量缓冲,实现编码模块不间断编码;整体上降低高级熵编码器处理每bit编码所需要的时间,提高整个熵编码器的处理性能,增强编码器的吞吐率。
本发明还提供一种AVS2高级熵编码器装置,其用于实现本发明的AVS2高级熵编码器实现方法,该实现装置为7路硬件电路实现装置。
优选地,该实现装置分为如下7个部分:
部分1为语法元素输入FIFO,其储存需要进行熵编码的语法元素,可以直接使用异步FIFO来实现该模块电路;
部分2为二值化和上下文模型选择模块,该电路主要完成语法元素二值化和对应二值化值的上下文模型选择;
部分3为FIFO1,该电路直接使用异步FIFO实现,不同的异步FIFO的相关参数根据实际需求进行选择;
部分4为上下文模型更新和编码器状态更新模块,该电路使用寄存器储存上下文模型,便于硬件电路的实现;
部分5为FIFO2,该电路直接使用异步FIFO实现,不同的异步FIFO的相关参数根据实际需求进行选择;
部分6为bit生成模块,该电路用于编码器输出位流的生成;
部分7为码流输出模块,该电路实现将编码输出的单bit数据按照实际需求的码流位宽进行串并转换输出。
使用异步FIFO进行缓存,可以使前后模块相互独立互不干扰,避免数据因上溢、下溢造成的数据丢失,避免前后级模块交互握手信号造成的时钟周期的浪费,提高熵编码器的处理性能。
本发明提出的AVS2高级熵编码器,可以保证每一个时钟周期输出一bit的编码码流,提高整体编码模块的吞吐率。同时,该编码模块简单易懂,硬件设计易于实现。
附图说明
图1是根据本发明的AVS2高级熵编码器的基本原理图;
图2是根据本发明的AVS2高级熵编码器的硬件电路实现装置图。
具体实施方式
下面参照附图说明本发明的原理及示例性实施方式。
如上所述,AVS2熵编码器自身包含非常紧密的编码依赖关系,在同等开发环境的情况下,对于需求高吞吐率输出的时候,AVS2熵编码器自身的数据依赖性使得硬件设计成为一大瓶颈。为了使AVS2高级熵编码器每一个时钟周期输出一bit的编码码流,进而提高整体编码模块的吞吐率,本发明提出了一种AVS2高级熵编码器实现方法及装置。
如图1和图2所示,本发明提出的AVS2高级熵编码器主要包括二值化模块、上下文模型模块、算术编码模块。二值化模块完成对需要二值化操作的语法元素进行二值化操作。上下文模型模块存储相应语法元素二值化之后数值的概率模型;语法元素二值化之后高概率码流和低概率码流的概率相等时,此时不需要选择概率模型,直接进行旁路编码;语法元素二值化之后高概率码流和低概率码流的概率不相等时,此时需要选择概率模型,直接进行规则编码。本发明基于以下对硬件电路进行实施,提高熵编码器的处理性能,在同等开发环境下,增强编码器的吞吐率。
1.拆分算术编码模块
正如前面阐述的,AVS2熵编码器自身包含非常紧密的编码依赖关系,导致硬件流水设计成为一大瓶颈。
为了优化AVS2熵编码器内部的编码依赖关系,减少内部模块编码中额外花费的等待时间,方便硬件模块级流水设计,将不同功能的模块进行拆分处理,每个模块功能独立,并采用流水结构,提高熵编码的吞吐率。
算术编码模块拆分成功能独立的编码器状态更新模块和bit生成模块;将上下文模块拆分成上下文模型选择模块和上下文模型更新模块。
将模块进行拆分,降低单个模块的运行时间,采用流水结构,提高熵编码器的处理性能。
2.使用寄存器存取上下文模型
为了节省上下文模型更新需要的时间,采用寄存器存储概率模型的方式,达到随存随取随时更新的目的,而且硬件实现比较简单,不需要额外的逻辑去维护上下文模型的更新,避免因判断上下文是否已经更新而造成的时钟周期的浪费。
3.内部模块并行处理
将功能独立,相互之间没有相关性的模块进行并行处理。将串行处理方式改为并行处理方式,减少了一半的运行时间,使得模块的处理性能得到提高。
二值化模块和上下文模型选择模块进行并行处理,上下文模型更新模块和编码器状态更新模块进行并行处理。
4.模块之间使用异步FIFO进行缓存,各模块之间做流水处理
模块之间的中间变量使用异步FIFO进行缓存,使前后模块相互独立,互不影响,方便模块之间的跨时钟域操作,可以使前后模块在不同的频率下进行流水操作。
本发明提出的4种硬件结构,在同等开发环境下,可以提高AVS2高级熵编码器的处理性能,增强编码器的吞吐率;功能模块拆分,缩短单个模块内部关键路径长度;模块进行并行处理;前后级模块中间变量使用异步FIFO进行缓存并做流水处理;使用寄存器存储上下文模型;硬件逻辑简单易懂,硬件电路易于实现,设计简单规整。
如图1所示,对于需要进行二值化的语法元素进行二值化。对于不需要进行二值化操作的语法元素,不进行二值化。
上面参照附图说明了本发明的实现方法,但是,应当理解,上述说明仅是示例性的。本领域的技术人员可以在不脱离本发明的精神和范围的前提下,对本发明作出各种修改和变型。本发明的保护范围由所附的权利要求书限定。
Claims (8)
1.一种AVS2高级熵编码器实现方法,其特征在于,该高级熵编码器包括二值化模块、上下文模型模块、算术编码模块;所述上下文模型模块被拆分成功能独立的上下文模型选择模块和上下文模型更新模块;所述算术编码模块被拆分成功能独立的编码器状态更新模块和bit生成模块;所述二值化模块与所述上下文模型选择模块并行处理;所述上下文模型更新模块与所述编码器状态更新模块并行处理。
2.根据权利要求1所述的AVS2高级熵编码器实现方法,其特征在于,所述上下文模型采用寄存器的方式进行存取。
3.根据权利要求1所述的AVS2高级熵编码器实现方法,其特征在于,使所述上下文模型选择模块和所述上下文模型更新模块做流水处理;使所述编码器状态更新模块和所述bit生成模块做流水处理。
4.根据权利要求1所述的AVS2高级熵编码器实现方法,其特征在于,使用异步FIFO作为前后级流水中间变量缓冲,实现前后级模块异步操作;整体上使所述高级熵编码器每一个时钟周期输出一bit的编码码流。
5.一种AVS2高级熵编码器实现装置,其特征在于,该编码器硬件电路分为如下7个部分:
部分1为语法元素输入FIFO,其储存需要进行熵编码的语法元素;
部分2为二值化和上下文模型选择模块,该电路主要完成语法元素二值化和对应二值化值的上下文模型选择;
部分3为FIFO1;
部分4为上下文模型更新和编码器状态更新模块,该电路使用寄存器储存上下文模型,便于硬件电路的实现;编码器状态更新模块将部分2输出的二值化数据在相应的上下文模型下进行计算,更新中间变量,并将相应的变量值输出给下一个模块;
部分5为FIFO2;
部分6为bit生成模块,该电路用于编码器输出位流的生成;
部分7为码流输出模块,该电路实现将编码输出的单bit数据按照实际需求的码流位宽进行串并转换输出。
6.根据权利要求5所述的AVS2高级熵编码器实现装置,其特征在于,所述语法元素输入FIFO、所述FIFO1和所述FIFO2均使用异步FIFO来实现,不同的异步FIFO的相关参数根据实际需求进行选择。
7.根据权利要求5或6所述的AVS2高级熵编码器实现装置,其特征在于,所述语法元素输入FIFO,实现部分1前后级模块的异步操作;所述FIFO1存储部分2的中间变量并实现部分2与部分4的异步操作;所述FIFO2存储部分4的中间变量并实现部分4与部分6的异步操作。
8.根据权利要求5或6所述的AVS2高级熵编码器实现装置,其特征在于,其用于实现根据权利要求1至4中任一项所述的AVS2高级熵编码器实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711325015.5A CN109922341A (zh) | 2017-12-13 | 2017-12-13 | Avs2高级熵编码器实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711325015.5A CN109922341A (zh) | 2017-12-13 | 2017-12-13 | Avs2高级熵编码器实现方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109922341A true CN109922341A (zh) | 2019-06-21 |
Family
ID=66958272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711325015.5A Pending CN109922341A (zh) | 2017-12-13 | 2017-12-13 | Avs2高级熵编码器实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109922341A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111787325A (zh) * | 2020-07-03 | 2020-10-16 | 北京博雅慧视智能技术研究院有限公司 | 一种熵编码器及其编码方法 |
CN112911314A (zh) * | 2021-01-14 | 2021-06-04 | 北京博雅慧视智能技术研究院有限公司 | 一种熵编码器的编码方法及熵编码器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102801974A (zh) * | 2012-07-19 | 2012-11-28 | 西安电子科技大学 | 基于cabac的图像压缩熵编码器 |
US20150334425A1 (en) * | 2014-05-14 | 2015-11-19 | Blackberry Limited | Adaptive context initialization |
CN105898301A (zh) * | 2015-02-17 | 2016-08-24 | 联发科技股份有限公司 | 算术译码的方法及设备 |
CN106331715A (zh) * | 2016-08-24 | 2017-01-11 | 上海富瀚微电子股份有限公司 | 基于视频压缩编码标准h.265的熵编码***及其编码方法 |
CN106921859A (zh) * | 2017-05-05 | 2017-07-04 | 郑州云海信息技术有限公司 | 一种基于fpga的cabac熵编码方法与装置 |
-
2017
- 2017-12-13 CN CN201711325015.5A patent/CN109922341A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102801974A (zh) * | 2012-07-19 | 2012-11-28 | 西安电子科技大学 | 基于cabac的图像压缩熵编码器 |
US20150334425A1 (en) * | 2014-05-14 | 2015-11-19 | Blackberry Limited | Adaptive context initialization |
CN105898301A (zh) * | 2015-02-17 | 2016-08-24 | 联发科技股份有限公司 | 算术译码的方法及设备 |
CN106331715A (zh) * | 2016-08-24 | 2017-01-11 | 上海富瀚微电子股份有限公司 | 基于视频压缩编码标准h.265的熵编码***及其编码方法 |
CN106921859A (zh) * | 2017-05-05 | 2017-07-04 | 郑州云海信息技术有限公司 | 一种基于fpga的cabac熵编码方法与装置 |
Non-Patent Citations (1)
Title |
---|
高敏 等: "AVS2视频编码标准中熵编码模块的优化设计", 《智能计算机与应用》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111787325A (zh) * | 2020-07-03 | 2020-10-16 | 北京博雅慧视智能技术研究院有限公司 | 一种熵编码器及其编码方法 |
CN111787325B (zh) * | 2020-07-03 | 2022-03-08 | 北京博雅慧视智能技术研究院有限公司 | 一种熵编码器及其编码方法 |
CN112911314A (zh) * | 2021-01-14 | 2021-06-04 | 北京博雅慧视智能技术研究院有限公司 | 一种熵编码器的编码方法及熵编码器 |
CN112911314B (zh) * | 2021-01-14 | 2023-08-18 | 北京博雅慧视智能技术研究院有限公司 | 一种熵编码器的编码方法及熵编码器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111133456B (zh) | 在集成电路中实现神经网络的***和方法 | |
CN107797962B (zh) | 基于神经网络的计算阵列 | |
US7443318B2 (en) | High speed context memory implementation for H.264 | |
CN101782893A (zh) | 可重构数据处理平台 | |
CN112200713B (zh) | 一种联邦学习中的业务数据处理方法、装置以及设备 | |
CN102054108B (zh) | 集成电路下层硬件映射方法、时空图压缩方法及装置 | |
CN109922341A (zh) | Avs2高级熵编码器实现方法及装置 | |
CN103731822B (zh) | 一种祖冲之算法的实现***及其方法 | |
CN106383807B (zh) | 一种fft处理器 | |
CN104090737B (zh) | 一种改进型部分并行架构乘法器及其处理方法 | |
CN101894229A (zh) | 一种兼容三种sha标准的装置及其实现方法 | |
CN109587483A (zh) | 码流提取模块 | |
CN102801974B (zh) | 基于cabac的图像压缩熵编码器 | |
Aulvina et al. | LOW power and area efficient borrow save adder design | |
CN105874774A (zh) | 用于在帧的处理过程中保持计数表的计数表保持装置以及相关的保持方法 | |
CN107092462B (zh) | 一种基于fpga的64位异步乘法器 | |
Kalali et al. | An approximate HEVC intra angular prediction hardware | |
CN102054107B (zh) | 集成电路下层硬件映射方法、时空图生成方法及装置 | |
CN109936441A (zh) | 一种基于数据存储的流水sha256硬件实现方法 | |
CN108564165A (zh) | 卷积神经网络定点化优化的方法及*** | |
CN110555519B (zh) | 一种基于符号随机计算的低复杂度卷积神经网络架构 | |
CN106059592A (zh) | 一种应用于片上网络的低功耗联合的编解码电路及其编解码方法 | |
Schneider et al. | A new power estimation technique with application to decomposition of boolean functions for low power | |
CN107679010B (zh) | 一种面向可重构计算阵列的算子映射***及方法 | |
CN109274460A (zh) | 一种多比特并行结构串行抵消译码方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190621 |
|
RJ01 | Rejection of invention patent application after publication |