EDN China > 设计实例 > 消费电子设计 > 视频/图形处理 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) H.264视频编码变换量化核的硬件设计

2012年01月19日 ?? 收藏0

对于每列变换,需要进行8次加法和2次移位运算,而行变换则可根据矩阵转置的性质ABT=(BAT)T,将经过列变换后的结果矩阵先进行转置,再采用相同的变换形式运算。这样对4×4点数据做一次变换,只需通过8×8次加法和2×8次移位运算便可完成。

(2)针对不同运算的位宽需要,设计专用的加法器和乘法器。本文对整数变换中的加法器采用三级流水线加法器,实现9位加法,每级流水线完成三位超前进位加法,将逻辑延迟限制在三位加法器之内。图2给出了9位加法器的流水线实现框图。选用EPF10K10LC84-3作为适配器件,经过SynplifyPro7.3综合,结果表明这种加法器具有较优的最高工作频率和硬件开销。如表2所示,常规加法器的最高工作频率为37.0MHz,消耗资源却为28LC,而经过优化的三级流水线加法器在消耗资源增加不多的情况下,其最高工作频率相比常规加法器提高了257%,达到94.5MHz。

常规加法器的最高工作频率

9位加法器的流水线实现框图

在量化过程中,对于给定的量化参数QP,MF只有三种取值,因此乘法实现可以采用无符号数乘法运算,乘法结构则采用16×14位加法树乘法器。这样,在提高运算速度的同时节约了芯片面积。

(3)对于f的计算,在不影响运算精度的情况下本文采用近似处理。为了避免除法运算,将f的计算式变形,即:

f=2q/3=(215/3)×2m≈[(215+1)/3]×2m≈10923×2m

式中,m取值为0~8,具体由相应的QP给出。由于f在完成加法运算后其结果还需左移q位,所以计算精度不会受影响。这样,对f的计算只需进行移位操作。

3 4×4整数变换量化核硬件实现

基于上述算法原理及其设计,本文首先对4×4整数变换量化模块进行C语言编程,验证了该模块所采用算法的正确性。然后采用VerilogHDL语言描述4×4整数变换和量化核(帧内模式)的硬件功能,并通过仿真软件ModelsimSE5.7进行功能仿真,验证了该模块输出结果与设计要求相一致。最后采用SynplifyPro7.3综合工具,并以Altera公司的Stratix系列FPGA作为主要目标适配器件进行综合。

4×4整数变换量化核的二大子模块的综合结果如表3所示,表中同时给出经本文优化设计前后的综合结果作为对比。可见,经本文采用的三种优化设计处理后,在硬件开销改变不大情况下,变换子模块的最高工作频率达到59.4MHz,是未优化前的1.73倍,而量化子模块的最高工作频率达到55.8MHz,是未优化前的1.82倍。4×4整数变换量化核的最高工作频率取各子模块的最低频率,这样其优化后的最高工作频率是55.8MHz,相比优化前的30.7MHz提高了82%。

4×4整数变换量化核的二大子模块的综合结果

本文对H.264/AVC协议中的4×4整数变换量化核从算法原理到硬件实现进行了分析和设计。采用自顶向下的VerilogHDL设计流程,实现了4×4整数变换量化核硬件功能的优化设计,模块的最高工作频率提高了82%,为H.264/AVC视频编码标准的硬件实现提供了参考。

参考文献

1LappalainenV,HallapuroA,TimoDH.OptimizationofemergingH.26Lvideoencoder[C].IEEEWorkshoponSignalProcess-ingSystems,2001;(9):406~415

2WiegandT,SullibanG,BjontegaardGetal.OverviewofH.264/AVCvideocodingstandard[J].IEEETrans.circuitsandsystemsforvideltechnology,2003;13(7):560~576

3MalvarHS,HallapuroA,KarczewiczMetal.Low-complexitytransformandquantizationinH.264/AVC[J].IEEETrans.CircuitsandSystemsforVideoTechnology,2003;13(7):598~603

4楼剑,陆亮,虞露,董洁.H.264变换和量化的分析.浙江大学学报(工学版),2004;(5):566~570


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

整数变换? VerilogHDL? AVC?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈