一种面向硬件实现的二值化模块方案∗
2021-01-19
舰船电子工程 2020年12期
关键词:设计
(江苏自动化研究所 连云港 222061)
1 引言
HEVC[1~2]熵编码器的二值化是将头信息和量化残差系数转化为一系列语法元素,实现对输入数据的预处理和预压缩过程。相比于上下文建模和二进制算术编码[3]来说,二值化的复杂度较低,但仍然存在数据依赖性[4],会影响编码效率以及硬件编码器的实际性能。本文针对二值化在硬件设计过程中存在的问题,提出一种面向硬件实现的二值化模块方案,并验证该方案的可行性,为相应的硬件设计提供参考。
2 二值化过程浅析
HEVC规定的一系列语法元素多以4×4子块为单位,按照头信息、量化残差系数的位置信息、符号信息和幅值信息的顺序依次产生。二值化过程有截断莱斯方法(TR),k阶指数哥伦布方法(EGk)和定长方法(Fixed Length)几种,个别语法元素还采用查表或组合的方式。其中k阶指数哥伦布编码是变长码的一种,具有很好的结构性,由前缀和后缀两部分构成,都依赖于指数哥伦布编码的阶数k。表1列出了帧内编码过程中相关的语法元素及其对应的二值化方式,其中coeff_abs_level_remaining[5]作为最后一个相关语法元素,采用了TR和EGk组合的方式,是二值化过程中的研究重点。
二值化的预处理作用体现在,通过扫描[6]的方式能将二维量化残差系数转化为一维数据,有对角、垂直和水平三种扫描方式[7],并将非零系数尽量靠近排列,为后续处理做准备。这种基于4×4子块的扫描技术适应于所有大小的TU,有利于编码器的模块化[8]。二值化的预压缩作用体现在,硬件设计中一个4×4子块的原始数据可能需要256(16×16)bit的存储空间,二值化后,这个数值将大大减小。……
登录APP查看全文
