一種h264編碼實時性能優化方法
2023-10-08 21:41:29 2
專利名稱:一種h264編碼實時性能優化方法
技術領域:
本發明涉及一種編碼性能優化方法,尤其涉及一種H264編碼實時性能優化方法, 屬於數字圖像處理技術領域。
背景技術:
目前圖像通信系統中主要採用MJPEG、MPEGl/2、MPEG4 (SP/ASP)、H264/AVC等幾種 視頻編碼技術。評價一種視頻編碼技術的好壞,主要基於以下三個指標壓縮比、信噪比、編 碼實時性。壓縮比決定了視頻編碼算法的壓縮效率,其值越大說明壓縮效率越高,對網絡傳 輸帶寬的要求越低,傳輸成本也就越低。信噪比決定了圖像壓縮後的失真程度,其值越大說 明失真越小,與原始圖像也就越接近。編碼實時性決定了圖像壓縮算法的實時性能,其值越 高說明編碼伺服器每秒能夠壓縮處理的圖像幀數越多,其實時響應能力也就越強。而採用 不同的壓縮技術,將很大程度影響以上三大要素。MJPEG (Motion JPEG)壓縮技術,主要是基於靜態視頻壓縮發展起來的技術, 它的主要特點是基本不考慮視頻流中不同幀之間的變化,只單獨對某一幀進行壓縮。MJPEG 壓縮技術可以獲取清晰度很高的視頻圖像,可以動態調整幀率、解析度。但由於沒有消除幀 間變化,造成大量冗餘信息被重複存儲,因此單幀視頻的佔用空間較大。在MPEG系列中,早前的MPEG-1、MPEG-2標準在實時壓縮、每幀數據量、處理速 度上相對於MJPEG都有顯著的提高,但壓縮性能沒有多少提高,使得存儲容量還是太大,不 適和網絡傳輸。H264 (或表示為H. 264)視頻壓縮標準(即MPEG-4 part 10,)相對於MPEG- Λ在 低比特率壓縮上有著顯著提高,在CIF (352*288)或者更高清晰度(768*576)情況下的視 頻壓縮,無論從清晰度還是從存儲量上都比MPEG1/2具有更大的優勢,也更適合網絡傳輸, 因而目前國內外很多網絡視頻監控系統都採用了 H264編碼技術。然而,H264視頻壓縮標準為了獲得高壓縮比採用了一系列先進的信息處理技術, 比如多參考幀技術、多種塊模式、亞像素運動矢量搜索、基於4x4塊整數變換、變步長量化、 環路去塊效應濾波、基於上下文的自適應變長熵編碼和基於上下文的自適應算術熵編碼, 這些技術的引入大大增加了編碼算法的複雜度,從而降低了編碼的實時性能。因此,對於硬 件條件有限,實時性要求較高的應用領域,H264的實時編碼性能問題成為目前許多廠商亟 待解決的問題。根據H264編碼器結構,幀間預測對視頻壓縮效率貢獻最大,但同時其具有非常高 的編碼複雜度。H264標準中沒有規定運動估計所採用的具體搜索算法,需要用戶自行選擇 實現,這就給搜索算法的優化留下了較大的優化空間。最早由T.koga提出了三步搜索算 法,通過減少搜索點數來提高編碼速度。此後,在三步搜索算法的基礎上,人們提出了一些 三步搜索算法的變形,如新三步搜索算法,菱形搜索算法,六變形搜索算法等。優化搜索算 法,提高搜索效率對於提高H264編碼性能具有重要意義。目前針對搜索算法的優化思想有 很多,但主要還是在原有搜索算法的基礎上進行不同程度的改進,實際應用證明,其優化的空間已越來越小。H264編碼的核心工作是選擇宏塊的編碼模式。此過程需要對所有模式進行判斷, 從而選擇編碼代價最小的模式。模式選擇過程計算複雜度非常高,它直接影響編碼速度。如 果採用快速模式判斷方法,編碼速度將會有較大程度的提高。近年來國內外專家學者在模 式選擇方面提出了很多優化算法,Yong Ho Moon等在2005年提出了一種對全零塊的快速 判斷準則;Bojim Meng等提出了一種綜合率失真代價計算、選擇高概率模式、提取終止編碼 判斷以及靈活閥值四種優化方案來快速設定幀內模式的算法。馮鑌等在2007年提出了根 據運動補償信息,減少模式選擇範圍的編碼優化算法。快速模式選擇優化方法可以對編碼 模式做出直接或間接判斷,有效地減少了編碼複雜度,是實現編碼優化的重要手段之一,也 是目前編碼優化研究的熱點之一。模式選擇算法的根本目的是為了有效提高壓縮效率,在 去除時間冗餘和空間冗餘之間做出合適的編碼模式選擇。優化模式選擇算法的時間性能往 往使算法的準確性有所下降,而且最終能夠獲得的性能提高幅度也相當有限。編碼實現過程與硬體平臺密切相關,優秀的編碼算法需要適當的實現方式來發揮 其高效的編碼性能。因此在不同環境下,採用不同的優化手段,往往能夠取得不錯的優化效 果。例如針對普通微型計算機平臺可以使用SIMD (即單指令多數據)指令集對編碼過程中 的DCT變換、量化、插值以及運動估計等操作進行優化,此方法作為目前在微型計算機平臺 實現編碼優化的重要手段被廣泛採用。另外,國內外很多企業將H264編碼中涉及的部分操 作或整體固化成硬體實現以提高編碼運算速度。如富士通公司在2006年末推出了一款支 持1440*1080解析度的實時H264編碼晶片,該晶片採用90nm技術,實現了單片高清實時編 碼。從總體上說,通過硬體優化編碼性能,雖然能取得很不錯的效果,但在成本耗費上要遠 遠高於軟體算法層面上的優化。另外,這種方式對硬體的依賴程度過高,不具備通用性。綜上所述,目前H264編碼實時性能優化主要從幀間預測的搜索算法、模式選擇算 法以及硬體這幾方面著手,雖然在一定程度上能夠有效提高編碼實時性能,但均存在一定 的限制。特別是在硬體條件有限的情況下,很難滿足實時視頻監控等應用領域對編碼實時 性的需求。
發明內容
本發明所要解決的技術問題在於克服上述現有技術存在的問題,從另一個角度提 供一種H264編碼實時性能優化方法,該方法能夠在硬體條件有限的情況下,滿足實時視頻 監控等應用領域對編碼實時性的需求。本發明採用以下技術方案一種H264編碼實時性能優化方法,在對視頻幀進行正常編碼前,先根據要求的目標編 碼實時效率及圖像質量目標,採用四叉樹漸進編碼方法對當前圖像進行處理,處理過程具 體包括以下步驟步驟1、系統初始化,設定初始的當前圖像預處理等級、圖像質量標準以及目標編碼實 時效率;步驟2、判斷當前圖像是否為圖像序列組中的起始巾貞,如是,轉步驟4;如否,轉步驟3 ; 步驟3、獲取當前圖像預處理等級,如當前圖像預處理等級不為0,則按照當前圖像預 處理等級採用四叉樹漸進編碼方法對當前圖像進行預處理,並以預處理後的圖像替代當前圖像,轉步驟7 ;如當前圖像預處理等級不為0,則直接轉步驟7 ;步驟4、獲取當前的編碼實時效率並判斷是否達到預先設定的目標編碼實時效率,如 否,則轉步驟5;如是,轉步驟7;步驟5、採用四叉樹漸進編碼方法並按照當前圖像預處理等級對當前圖像進行預處理, 並判斷本次預處理後的圖像質量是否達到預設的圖像質量標準,如是,則將當前圖像預處理等級+1後,採用四叉樹漸進編碼方法並按照當前圖像預處 理等級對當前圖像進行預處理,並判斷本次預處理後的圖像質量是否達到預設的圖像質量 標準,如是,則重複上述過程,直到預處理後的圖像質量第一次低於預設的圖像質量標準, 此時轉步驟6 ;如否,則直接轉步驟6;步驟6、將當前圖像預處理等級-1,採用四叉樹漸進編碼方法並按照當前圖像預處理 等級對當前圖像進行預處理,以預處理後的圖像替代當前圖像後,轉步驟7 ; 步驟7、以當前圖像為輸入進入正常H264編碼流程。本發明通過在正常H264編碼前,採用四叉樹漸進編碼方法對視頻進行處 理,有效地減少了後續需要進行編碼處理的原始數據,同時,在處理過程中,根據預先設定 的圖像質量標準對預處理後的圖像質量進行總體的控制,因而能夠在進行編碼實時性能優 化的同時很好的滿足用戶對圖像質量的要求。本發明還可以很方便的與現有的各種H264 編碼優化方法相結合,進一步提高編碼性能。
圖1為四叉樹漸進編碼方法的原理示意圖; 圖2為SSIM質量評價方法的系統框圖;圖3為使用本發明的H264編碼實時性能優化方法的編碼系統流程圖; 圖4為進行對比試驗所使用的視頻源的情況;圖5為分別使用PC-SSIM、X264對視頻源進行編碼得到的平均編碼效率; 圖6為分別使用PC-SSIM、X264對視頻源進行編碼得到的平均壓縮比; 圖7為分別使用PC-SSIM、X264對視頻源進行編碼得到的平均SSIM值。
具體實施例方式下面結合附圖對本發明的技術方案進行詳細說明本發明在對視頻幀進行正常編碼前,先根據要求的目標編碼實時效率及圖像質量目 標,採用四叉樹漸進編碼方法對當前圖像進行處理。對於圖像中的任意一個像素,其相鄰的幾個像素有可能與其非常相似甚至相同。 這一特徵對於高清平滑圖像更為顯著。因此,當我們使用相鄰像素的平均值代替這幾個像 素時,圖像在能夠基本保持原有清晰度的同時極大地縮小了原始圖像的數據量。四叉樹漸 進編碼方法就是這樣一種方法,其原理為假設一幅2nX2n像素的圖像(η為正整數),將圖 像按照解析度分出層次,原始圖像作為0級,然後將圖像劃分成2 X 2的子塊,計算每個子塊 的灰度均值,這個均值作為1級圖像(大小為2114 X 2-1像素)的像素灰度值,以後再依次劃分 為4X4,8X8,…2^121^1的子塊,即可形成一種如附圖1所示的金子塔的形式。每一級的灰度值都是下一級4個灰度值的均值。0級圖像解析度最高;η級圖像的解析度最低,只有 一個像素灰度值,即整個圖像灰度值的均值。第η等級的圖像的數據量大小為原始圖像(即0級圖像)數據量的去。將上述圖像層次用四叉樹數據結構來表示,其底層為葉子節點,即原圖像像素,上一級節點是下級中相鄰4個像素的灰度均值,逐級往上,根節點為整幅圖 像的灰度均值。假設有2X2的子像素塊,/。,Z1,Z2,/3為它的4個灰度值,記其均值為; ,差值為。 (2)其中i=l,2,3,於是有(3)由上式可見,利用圖像子塊的一個均值和三個差值,可以恢復出該子塊的四個像素值,因此可以用均值;?和差值式作為存儲數據,在圖像處理過程中可以很方便的恢復上一等級的圖像。此外,採用四叉樹漸進編碼方法對圖像進行預處理,在整個預處理過程中,只需用 到加法和移位運算,而沒有耗時較多的乘法和浮點運算,因而其自身的實時性能夠得到很 好的保證。關於四叉樹漸進編碼方法更詳細的內容可參考文獻(何小海,滕奇志,圖像通信, 西安西安電子科技大學出版社,2005)。
處理過程具體包括以下步驟步驟1、系統初始化,設定初始的當前圖像預處理等級、圖像質量標準以及目標編碼實 時效率;現有的圖像質量評價方法有很多,例如基於小波變換的圖像質量評估算法、基於人眼 視覺系統的圖像質量評估算法、基於Contourlet變換的圖像質量評價算法、基於自然計算 和視覺注意的圖像質量算法等,本發明優選基於結構相似度(SSIM)的質量評估方法[Wang Zhou,Bovik A C,Sheikh H R,et al. Image Quality Assessment: From Error Visibility to Structural Similarity. IEEE Transactions on Image Processing, 2004,13 :600-612]。下面對SSIM質量評價方法的原理進行簡單介紹。
權利要求
1.一種H264編碼實時性能優化方法,其特徵在於,在對視頻幀進行正常編碼前,先根 據要求的目標編碼實時效率及圖像質量目標,採用四叉樹漸進編碼方法對當前圖像進行處 理,處理過程具體包括以下步驟步驟1、系統初始化,設定初始的當前圖像預處理等級、圖像質量標準以及目標編碼實 時效率;步驟2、判斷當前圖像是否為圖像序列組中的起始巾貞,如是,轉步驟4 ;如否,轉步驟3 ;步驟3、獲取當前圖像預處理等級,如當前圖像預處理等級不為0,則按照當前圖像預 處理等級採用四叉樹漸進編碼方法對當前圖像進行預處理,並以預處理後的圖像替代當前 圖像,轉步驟7 ;如當前圖像預處理等級為0,則直接轉步驟7 ;步驟4、獲取當前的編碼實時效率並判斷是否達到預先設定的目標編碼實時效率,如 否,則轉步驟5;如是,轉步驟7;步驟5、採用四叉樹漸進編碼方法並按照當前圖像預處理等級對當前圖像進行預處理, 並判斷本次預處理後的圖像質量是否達到預設的圖像質量標準,如是,則將當前圖像預處理等級+1後,採用四叉樹漸進編碼方法並按照當前圖像預處 理等級對當前圖像進行預處理,並判斷本次預處理後的圖像質量是否達到預設的圖像質量 標準,如是,則重複上述過程,直到預處理後的圖像質量第一次低於預設的圖像質量標準, 此時轉步驟6 ;如否,則直接轉步驟6;步驟6、將當前圖像預處理等級-1,採用四叉樹漸進編碼方法並按照當前圖像預處理 等級對當前圖像進行預處理,以預處理後的圖像替代當前圖像後,轉步驟7 ;步驟7、以當前圖像為輸入進入正常H264編碼流程。
2.如權利要求1所述H264編碼實時性能優化方法,其特徵在於,在系統初始化時,設定 初始的當前圖像預處理等級的範圍為0到3之間的整數。
3.如權利要求1或2所述H264編碼實時性能優化方法,其特徵在於,所述圖像質量採 用SSIM質量評估方法得到。
4.如權利要求3所述H264編碼實時性能優化方法,其特徵在於,所述設定的圖像質量 標準取值範圍為0. 75-0. 95。
全文摘要
本發明公開了一種H264編碼實時性能優化方法,屬於數字圖像處理技術領域。本發明方法在對視頻幀進行正常編碼前,先根據要求的目標編碼實時效率,採用四叉樹漸進編碼方法對當前圖像進行處理,以減少後續需要進行編碼處理的原始數據;同時,在處理過程中,根據預先設定的圖像質量標準對預處理後的圖像質量進行總體的控制,因而能夠在進行編碼實時性能優化的同時很好的滿足用戶對圖像質量的要求。本發明還可以很方便的與現有的各種H264編碼優化方法相結合,進一步提高編碼性能。
文檔編號H04N7/26GK102056011SQ20101061084
公開日2011年5月11日 申請日期2010年12月29日 優先權日2010年12月29日
發明者孫知信, 陳榮偉 申請人:南京郵電大學