FPGA量化QP控制與ISP圖像處理技術(shù)應(yīng)用
來源:數(shù)字音視工程網(wǎng) 編輯:ann 2014-01-14 09:00:00 加入收藏
I幀是一個(gè)視頻序列的第1幀,所以一般變換量化后的質(zhì)量都比P幀和B幀高,采用的量化參數(shù)QP也要比P幀和B幀所采用的QP要小。但是對(duì)于一些運(yùn)動(dòng)物體少的區(qū)域可以考慮用較大的QP來降低編碼,就是說I幀的不同區(qū)域可以有不同的QP。
P幀一般只對(duì)運(yùn)動(dòng)宏塊有變換量化后的結(jié)果,所采用的量化參數(shù)QP要比I幀大,至于大多少可以根據(jù)運(yùn)動(dòng)速度來定,速度慢的話量化參數(shù)QP要比I幀大1~2,速度快的話量化參數(shù)QP要比I幀大3~4,因?yàn)檫\(yùn)動(dòng)速度快時(shí)人眼看的就有點(diǎn)模糊,所以圖像質(zhì)量損失大點(diǎn)也感覺不明顯。
B幀的結(jié)果可以不作為參考幀,所以B幀的量化參數(shù)QP要比P幀大,以獲得更少的碼流。
從上面的分析可以知道,不僅3種幀的QP大小不同,QP也會(huì)根據(jù)運(yùn)動(dòng)情況而變化,這樣的QP控制很復(fù)雜,而且ASIC的H.264編碼器也不一定有這樣的控制功能,F(xiàn)PGA正好可以實(shí)現(xiàn)這樣的控制。
ISP―FPGA的濾波器和銳化器功能
ISP是編碼前的視頻圖像處理,其中濾波強(qiáng)度和銳化強(qiáng)度對(duì)碼流的影響也很大,濾波算法有很多,其中既能濾波又能保留邊緣的濾波算法是很復(fù)雜的,用FPGA可以方便地實(shí)現(xiàn)不同算法和不同強(qiáng)度的濾波器和銳化器。
智能分析―FPGA的智能分析功能
智能分析主要有兩個(gè)功能,圖像分析和運(yùn)動(dòng)分析。運(yùn)動(dòng)分析是為了獲得視頻中的運(yùn)動(dòng)物體,如人和車輛等;圖像分析是為了獲得運(yùn)動(dòng)區(qū)域和靜止區(qū)域的分布,可以減少靜止區(qū)域的碼流。一般ASIC的智能分析功能只有運(yùn)動(dòng)分析,F(xiàn)PGA可以同時(shí)實(shí)現(xiàn)這兩個(gè)功能。
FPGA在智能自適應(yīng)中的應(yīng)用
影響碼流的因素主要包括:場(chǎng)景內(nèi)容的變化、視頻分辨率、視頻幀率、量化參數(shù)QP、視頻濾波強(qiáng)度、圖像銳化強(qiáng)度和圖像分析靈敏度等。當(dāng)場(chǎng)景內(nèi)容變化時(shí),碼流會(huì)隨之發(fā)生變化,為了實(shí)現(xiàn)維持碼流的穩(wěn)定的目標(biāo),就需要同時(shí)調(diào)整其他參數(shù),這就是智能自適應(yīng)。智能自適應(yīng)需要比較復(fù)雜的控制策略來實(shí)現(xiàn),參與調(diào)整的參數(shù)分布在ISP、智能分析、H.264編碼等多個(gè)環(huán)節(jié),對(duì)實(shí)時(shí)性要求比較高,很適合用FPGA來實(shí)現(xiàn)。
FPGA的選擇
H.264編碼以宏塊為單位,在處理過程中必然會(huì)涉及到宏塊的輸入輸出和緩存。1個(gè)宏塊的數(shù)據(jù)為384字節(jié)(256字節(jié)亮度數(shù)據(jù)和128字節(jié)色度數(shù)據(jù)),如果考慮到輸入輸出和處理的并行,必須設(shè)置雙份,即768字節(jié),所以使用1K字節(jié)的存儲(chǔ)塊剛好滿足要求。參考幀的存儲(chǔ)可能包括多個(gè)參考幀宏塊,需要用多個(gè)存儲(chǔ)塊。ISP中經(jīng)常需要緩存1行像素,1080p每行有1920個(gè)像素,需要2K字節(jié)的存儲(chǔ)塊。
從上面的分析可以看出,適合H.264編碼和圖像處理的FPGA對(duì)內(nèi)部存儲(chǔ)器的要求是:存儲(chǔ)塊容量小(如1~2KB),并且存儲(chǔ)塊數(shù)量越多越好;另外,對(duì)乘法器的要求也是數(shù)量越多越好。
結(jié)語
從上面的論述中可以看出,降低視頻的編碼碼流是一個(gè)系統(tǒng)性的工程,涉及到很多環(huán)節(jié),尤其是H.264編碼器可以做的工作很多。目前我們用CYCLONEIV的EP4CE115實(shí)現(xiàn)了1280×720×25fps的平均碼流小于512Kbps,H.264編碼檔次是mainprofilewithcabac。隨著FPGA工藝的進(jìn)步,F(xiàn)PGA的資源越來越多,運(yùn)動(dòng)宏塊的預(yù)測(cè)可以做到越來越準(zhǔn)確,編碼碼流會(huì)越來越少,下一步我們準(zhǔn)備用CYCLONEV來實(shí)現(xiàn)1920×1080×25fps的平均碼流小于1024Kbps。
評(píng)論comment