论文部分内容阅读
摘 要:介绍了一种基于FPGA的AVS标准视频部分反量化/反变换算法的实现。采用高效的全硬件实现方法,提出了各模块的硬件电路结构设计,实验及仿真结果验证了该设计的有效性。
关键词:AVS;反量化;反变换;FPGA
中图分类号:TP37文献标识码:A文章编号:1672-3198(2008)03-0293-01
1 引言
近年来世界上产生了许多数字视频压缩标准,AVS是我国第一个具有自主知识产权的数字音视频解码标准,为数字音视频设备与系统提供高效经济的编解码技术。AVS采用8×8的整数离散余弦变换和反变换,具有复杂度低、完全匹配等优点。
2 反量化和反变换算法描述
2.1 反量化
在量化方面,AVS采用总共64级近似8阶非完全周期性的量化,可以完全适应不同的应用和业务对码率和质量的要求。反量化是将二维量化系数矩阵QuantCoeffMatrix转换为二维变换系数矩阵CoeffMatrix的过程。首先确定量化参数QP,QP取值范围为0~63,QP值越大,精度越低。
二维变换系数矩阵CoeffMatrix的元素Wij由式(1)得到
2.2 反变换
AVS定义的反变换是将8×8变换系数矩阵CoeffMatrix转换为8×8残差样值矩阵ResidueMatrix的过程,需要经过一次水平变换和垂直变换,具体步骤如下:
第一步,对变换系数矩阵(CoeffMatrix,Mc)进行如式(2)水平反变换
H′= Mc×TT(2)
其中,T是8×8反变换矩阵,如图1所示,TT是T的转置矩阵,H′是水平反变换后的中间结果。
T=8101098642
894-2-8-10-10-6
86-4-10-82109
82-10-689-4-10
8-2-1068-9-410
8-6-4108-210-9
8-942-810-106
8-1010-98-64-2
图1 AVS的反变换矩阵T
第二步,对矩阵H′中的每个系数加4再右移3位,得到矩阵H″。
第三步,对矩阵H″进行如式(3)垂直反变换
H=T×H″ (3)
其中,H表示垂直反变换后的8×8矩阵。
第四步,对H的每个系数加26再右移7位,得到残差样值矩阵(ResidueMatrix,MR)。
3 硬件结构设计
本文的硬件结构设计如图2所示,从可变长解码 FIFO中读出num经过GET模块得到成对的游程run和幅度 level存于2个RAM中,反量化器根据模式控制器对幅度level值进行反量化,得到变换系数,并由存储控制器完成串并转换,一维反变换单元进行一维行反变換后,其结果经过转置操作后并行输出,进行一维列反变换后,输出残差系数。3.1 GET模块
负责采集可变长解码FIFO输入的num值存入寄存器,由addrA=base+num-1(base为已知的基地址)算出addrA的值,每给出一个addrA值都可从FIFO中得到level和run值,根据幅度run 将level写入相应的RAM1地址内。地址指针上移一格后,以同样的过程将数据写入RAM1,共写num次,最后将RAM1 的其他单元内置零。RAM1 完成一个块后以同样的方式给RAM2 写入。
这里,选用两个RAM用于存放数据的好处是,在完成一个块进行反量化和反变换的同时,下一个块可以采集level和run的值,节约了流水线处理时间。时序安排如图3所示。
3.2 一维反变换单元
AVS反变换采用的像素块为8×8大小,顺序地对每个系数进行反变换显然难以满足码流速度。另外,AVS的变换系数是基于整数运算的,所以根据W.K. Cham提出的整数余弦变换(ICT)可以降低硬件实现的复杂度,即通过移位运算和加法运算代替乘法运算。根据上述两点要求,本设计采用一维的逆整数余弦变换的反变换设计,即先对像素块的每一行的8个变换系数做反变换,然后对像素块的每一列作反变换。
设计时,采用通用的一维反变换单元,既能做行变换,也能做列变换,以节约硬件开销。
4 仿真结果及分析
用Verilog语言RTL级描述实现了上述的结构设计,并用ModelSim6.0进行仿真,仿真波形如图所示。与AVS视频源代码提取出的结果进行比对,仿真结果表明采用上述结构完全可以得到完全正确的反量化和反变换结果。
本设计经过仿真,IQ/IDCT完成一个宏块的操作需要370个时钟。按照4:2:0的图像格式,所设计的结构可以达到的频率为160MHz,占用的LUT数为5764个,较节省硬件资源。本设计充分考虑了处理速度和硬件代价,并较好改善了上述因素对解码的影响。
参考文献
[1]MA Si-wei,GAO Wen, FAN Xiao-peng. Low complexity integer transform and high definition coding[C]//Proceedings of SPIE 49th Annual Meeting,Vol 58. Aug 02-06, 2004, Denver, CO, USA. Bellingham WA,USA:SPIE Press, 2002:547-554.
[2]CHAM W -K. Development of integer cosine transforms by the principle of dyadic symmetry[J]. Communications, Speech and Vision, IEE Proceedings, 1989, 136(4):276-282.
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
关键词:AVS;反量化;反变换;FPGA
中图分类号:TP37文献标识码:A文章编号:1672-3198(2008)03-0293-01
1 引言
近年来世界上产生了许多数字视频压缩标准,AVS是我国第一个具有自主知识产权的数字音视频解码标准,为数字音视频设备与系统提供高效经济的编解码技术。AVS采用8×8的整数离散余弦变换和反变换,具有复杂度低、完全匹配等优点。
2 反量化和反变换算法描述
2.1 反量化
在量化方面,AVS采用总共64级近似8阶非完全周期性的量化,可以完全适应不同的应用和业务对码率和质量的要求。反量化是将二维量化系数矩阵QuantCoeffMatrix转换为二维变换系数矩阵CoeffMatrix的过程。首先确定量化参数QP,QP取值范围为0~63,QP值越大,精度越低。
二维变换系数矩阵CoeffMatrix的元素Wij由式(1)得到
2.2 反变换
AVS定义的反变换是将8×8变换系数矩阵CoeffMatrix转换为8×8残差样值矩阵ResidueMatrix的过程,需要经过一次水平变换和垂直变换,具体步骤如下:
第一步,对变换系数矩阵(CoeffMatrix,Mc)进行如式(2)水平反变换
H′= Mc×TT(2)
其中,T是8×8反变换矩阵,如图1所示,TT是T的转置矩阵,H′是水平反变换后的中间结果。
T=8101098642
894-2-8-10-10-6
86-4-10-82109
82-10-689-4-10
8-2-1068-9-410
8-6-4108-210-9
8-942-810-106
8-1010-98-64-2
图1 AVS的反变换矩阵T
第二步,对矩阵H′中的每个系数加4再右移3位,得到矩阵H″。
第三步,对矩阵H″进行如式(3)垂直反变换
H=T×H″ (3)
其中,H表示垂直反变换后的8×8矩阵。
第四步,对H的每个系数加26再右移7位,得到残差样值矩阵(ResidueMatrix,MR)。
3 硬件结构设计
本文的硬件结构设计如图2所示,从可变长解码 FIFO中读出num经过GET模块得到成对的游程run和幅度 level存于2个RAM中,反量化器根据模式控制器对幅度level值进行反量化,得到变换系数,并由存储控制器完成串并转换,一维反变换单元进行一维行反变換后,其结果经过转置操作后并行输出,进行一维列反变换后,输出残差系数。3.1 GET模块
负责采集可变长解码FIFO输入的num值存入寄存器,由addrA=base+num-1(base为已知的基地址)算出addrA的值,每给出一个addrA值都可从FIFO中得到level和run值,根据幅度run 将level写入相应的RAM1地址内。地址指针上移一格后,以同样的过程将数据写入RAM1,共写num次,最后将RAM1 的其他单元内置零。RAM1 完成一个块后以同样的方式给RAM2 写入。
这里,选用两个RAM用于存放数据的好处是,在完成一个块进行反量化和反变换的同时,下一个块可以采集level和run的值,节约了流水线处理时间。时序安排如图3所示。
3.2 一维反变换单元
AVS反变换采用的像素块为8×8大小,顺序地对每个系数进行反变换显然难以满足码流速度。另外,AVS的变换系数是基于整数运算的,所以根据W.K. Cham提出的整数余弦变换(ICT)可以降低硬件实现的复杂度,即通过移位运算和加法运算代替乘法运算。根据上述两点要求,本设计采用一维的逆整数余弦变换的反变换设计,即先对像素块的每一行的8个变换系数做反变换,然后对像素块的每一列作反变换。
设计时,采用通用的一维反变换单元,既能做行变换,也能做列变换,以节约硬件开销。
4 仿真结果及分析
用Verilog语言RTL级描述实现了上述的结构设计,并用ModelSim6.0进行仿真,仿真波形如图所示。与AVS视频源代码提取出的结果进行比对,仿真结果表明采用上述结构完全可以得到完全正确的反量化和反变换结果。
本设计经过仿真,IQ/IDCT完成一个宏块的操作需要370个时钟。按照4:2:0的图像格式,所设计的结构可以达到的频率为160MHz,占用的LUT数为5764个,较节省硬件资源。本设计充分考虑了处理速度和硬件代价,并较好改善了上述因素对解码的影响。
参考文献
[1]MA Si-wei,GAO Wen, FAN Xiao-peng. Low complexity integer transform and high definition coding[C]//Proceedings of SPIE 49th Annual Meeting,Vol 58. Aug 02-06, 2004, Denver, CO, USA. Bellingham WA,USA:SPIE Press, 2002:547-554.
[2]CHAM W -K. Development of integer cosine transforms by the principle of dyadic symmetry[J]. Communications, Speech and Vision, IEE Proceedings, 1989, 136(4):276-282.
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。