計算機類學術論文模板
計算機是能夠按照程式執行,自動、高速處理海量資料的現代化智慧電子裝置。下面是由小編整理的,謝謝你的閱讀。
篇一
[計算機]影象塊平坦測度與係數掃描方式選擇
關鍵詞:影象塊 平坦測度 掃描模式 H.263
1. 問題的提出
在眾多的影象編碼建議中,如H.261/H.263幀內影象編碼都需要通過DCT變換,將圖象從空間的表示式/空間域轉化為頻譜表達式/頻率域。這樣變換後,只需要少量的資料點就可以表示圖象。並且DCT產生的係數很容易被量化,可獲得好的塊壓縮。在量化後,影象矩陣中的大多數DCT係數都被擷取為零值。在這些影象塊的DCT係數的遊程編碼前,一般都要按一定並且可選的方式對係數進行重新排列,排列的目的是增加遊程編碼的效率,使得儘可能多的零相連。在H.263建議中,在高階幀內編碼模式中給出了一些指導性的建議和掃描的順序,但是建議本身並不提供如何實際地選擇係數掃描模式。而且是不是隻有在高階幀內編碼模式中才能應用多種掃描模式,建議並未指明。
本人在實際的視訊壓縮編碼研究和應用中發現,掃描方式的選擇與影象的平坦測度有直接的關係,並且通過平坦測度測定和影象塊方差可以簡單地確定係數掃描方式。並且正確選擇率較高。同時把這一掃描模式選擇推廣到任何幀內編碼巨集塊。
2. 塊的平坦測度
塊的平坦測度***Flatness measurement***指塊的畫素在水平和垂直兩個方向上的綜合分佈特點。假定塊的大小為 大小。塊的平坦測度定義如下:
其中和分別是塊的垂直和水平平坦測度,a、b是比例因子,它們的作用是調節水平和垂直平坦測度以獲得子塊的綜合平坦測度。一般,和分別定義如下:
其中:和定義如下:
其中FM******為相鄰畫素平坦測度函式,定義如下:
T是控制閾值,控制閾值的確定由人類視覺系統對於畫素亮度變化的敏感度決定。一般而言,閾值可以由實驗的出。對於控制閾值的選擇是獲得優良編碼效能的關鍵,控制閾值的選擇依賴於影象塊本身的起伏特性,影象的起伏特性可以由影象畫素的方差表徵。如果影象的畫素的方差較大,則閾值也要較大,否則,方差較小,閾值也小。方差的計算可以由下式完成:
其中:
在實際計算時可以簡化為:
得到方差後就可以用實驗的方法獲得控制閾值T,本人在實驗中得到的經驗公式為:
另外控制閾值與量化引數也有一定的關係,直觀的分析表明,控制閾值大,子塊的平坦度小,控制閾值小,子塊的平坦度大,,因為控制閾值與影象的方差為線性關係。通過對HVS***Human Visual System***的分析,HVS對平坦區域比對非平坦區域更加敏感,因此如果一個塊的平坦測度較大,就要採用精細量化,反之則採用粗糙量化。通過平坦度和控制閾值的關係我們可以調整量化引數,從而有效地分配碼位,達到較好的影象質量。
3. 係數掃描方式的選擇策略
可以通過測度影象塊的平坦測度來決定對於子塊的掃描方式。在H.263標準的高階幀內編碼方式中有三種掃描方式:ZigZag Scan***暫且稱之為Z形掃描***、Alternate-Horizontal Scan***稱之為輪流水平掃描*** 和Alternate-Vertical Scan***稱之為輪流垂直掃描***。但是我們可以把這種做法推廣到一般的編碼塊中。一般而言,對於原始影象塊採用這種掃描選擇策略獲得的較好的編碼效能,而幀差訊號的分佈隨機性較大,一般適合Z形掃描。當然,如果採用也可以在一定程度上提高編碼效率。
Z形掃描 子塊中所有頻率分量都比較均勻,這種情況適合Z形掃描。掃描路徑見圖1。
輪流水平掃描 如果塊中包含較強的水平頻率分佈,也就是非零DCT係數主要集中垂直方向的低頻部分。表現在畫素亮度上則是塊在垂直方向上較為平坦。掃描路徑見圖2。
輪流垂直掃描 如果子塊中包含較強的垂直頻率分佈,也就是非零DCT係數主要集中水平方向的低頻部分。表現在畫素亮度上則是塊在水平方向上較為平坦。掃描路徑見圖3。
具體確定掃描方式的策略如下:
1*** 如果水平平坦測度和垂直平坦測度之差小於DIST,採用ZigZag掃描。否則轉2。之所以採取這種方案是因為幾乎一半以上的影象塊適合ZigZag掃描。
2*** 如果水平平坦測度和垂直平坦測度之差大於等於DIST,則選擇較小的平坦測度作為掃描的方式。例如,水平測度小於垂直測度,就選擇水平掃描方式。
DIST稱為測度失真,它表徵在平坦度測定過程中可能出現的誤差。這裡有個問題就是如何確定DIST,DIST一般在通過實驗得到,量化引數和影象方差
決定它的取值,其值一般在[5,9]中間取值。通過DIST的選取能明顯提高掃描模式的選擇的正確率。DIST值取得大,有利於ZigZag掃描的正確選擇,而DIST取值小,有利於另外兩種掃描的正確選擇。
以上對於DIST的選擇是靜態的。另外,可以設計一個函式,,其中是影象的垂直和水平平坦測度,是影象的方差,Q是影象的量化引數。
由於平坦程度的測定比較粗糙,控制閾值的確定也只是從統計意義上得出,因此通過上述方法得到的掃描模式不可能保證總是效率最好的編碼,有時候會出現相反的情況,但是將上述方法應用於幀內編碼巨集塊時命中率一般大於65%。
方差的計算量較大,難以在實時應用中使用。但是考慮到原始影象的連續性可以計算巨集塊的方差,在實際操作時只抽取部分畫素作為樣本,從而減少算量。例如可以採用下圖的方法在計算影象的方差是可以採取隔行列,這樣獲得方差計算量可以減少到1/4,計算出的方差用於四個子塊的平坦度測定。通過對方差以及平坦測度的計算可以明顯看出其演算法規律性強,適合於利用MMX技術指令實現,從而大大提高速度。
一般將平坦度測定用於幀內編碼的影象巨集塊中,而在幀間編碼的巨集塊中統一採用ZigZag掃描,因為,幀間編碼影象巨集塊畫素分佈隨機性大,採用其他兩種型別的掃描策略編碼效果不明顯,並且採用上述掃描方式選擇方法命中率較低,而複雜的選擇策略顯著影響編碼速度。
通過對6000幀影象中所有的I巨集塊進行統計,得到下表
方法平均位數***Bit*** 單純Z形掃描 18.97 平坦測度選擇掃描 16.63 掃描方式對編碼效能的影響
4. 總結
通過平坦測度來選擇掃描模式具有簡單、有效和可操作性強的特點,便於在實際應用中採用。
參考文獻:
1. 賈志科,崔慧娟,唐昆,馮重熙。"H.263活動影象編碼器位元速率控制研究",1997,通訊學報。
2. Sung Deuk Kim,Jaeyoun Yi,Hyun Mun Kim,and Jong Beom Ra."IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO THCHENOLOGY",FEBRUARY 1999,VOLUME 9,NUMBER 1.
點選下頁還有更多>>>