H.264/AVC中量化的Verilog實(shí)現(xiàn)
這樣,MF可以取整數(shù)。表3給出對(duì)應(yīng)QP值為0~5的MF值。對(duì)于QP值大于5的情況,只是qbits值隨QP值每增加6而增加1,而對(duì)應(yīng)的MF值不變。這樣,量化過(guò)程為整數(shù)運(yùn)算,可以避免使用除法,確保用16位算法來(lái)處理數(shù)據(jù),在沒(méi)有PSNR性能惡化的情況下,實(shí)現(xiàn)最小的運(yùn)算復(fù)雜度如表3所示。
具體量化過(guò)程的運(yùn)算為:
式中:“》”為右移運(yùn)算,右移1次完成整數(shù)除以2;sign()為符號(hào)函數(shù);f為偏移量。f的作用是改善恢復(fù)圖像的視覺(jué)效果,如對(duì)幀內(nèi)預(yù)測(cè)圖像塊f取2qbits/3;對(duì)幀間預(yù)測(cè)圖像塊廠取2qbits/6。
3具體實(shí)現(xiàn)
在該文中,用Verilog語(yǔ)言實(shí)現(xiàn)H.264的量化;運(yùn)用Modelsim進(jìn)行仿真;用QuartusⅡ進(jìn)行綜合。
根據(jù)Verilog編程,Modelsim仿真如圖1所示。
輸入的矩陣是[140,-1,-6,7,-19,-39,7,-92,22,17,8,31,-27,-32,-59,-21],最后量化的結(jié)果為[17,0,-1,0,-1,-2,0,-5,3,1,1,2,-2,-1,-5,-1]。由此可知,這與Iain E.G.Richardson給出的結(jié)果相符合。所用的開(kāi)發(fā)板是紅色颶風(fēng)第三代開(kāi)發(fā)板,F(xiàn)PGA芯片是Altra EP2C35F484C8。從綜合后的報(bào)告可以看出,消耗的資源不到1%,如圖2所示。綜合后的RTL圖如圖3所示。
4結(jié) 語(yǔ)
介紹了H.264的量化算法,并用Modelsim進(jìn)行了仿真,結(jié)果與理論完全一致。分析了在FPGA開(kāi)發(fā)板上的資源的消耗。由此可知,完全可以用FPGA實(shí)現(xiàn)H.264的量化。
評(píng)論