SVC入門(3)- Spatial Scalability

 

資料來源C. A. Segall, etc. “Spatial Scalability Within the H.264/AVC Scalable Video Coding Extension”, IEEE Trans. On CSVT, vol. 17, No. 9, Sept. 2007
 
SVC作爲H.264/AVC的擴展的一部分,這已經是第四次進行可伸縮編碼標準制定的嘗試,儘管之前的嘗試都不是那麼成功。與MPEG-2,MPEG-4類似,SVC通過支持多層(Multi-layer)編碼來實現空域可伸縮。圖-1給出了編碼器的示意框圖。每一個layer對應某個分辨率下的圖像,用一個Dependency Identifier (D)來標識。Base layer的D值爲0,其它增強層順序加1。Single-layer的各種預測技術仍然可用,另外增加了層間預測技術。爲了降低解碼複雜度和內存的消耗,SVC規定基本層和增強層的編碼順序必須一致,而同一時刻基本層和各個增強層構成一個訪問單元(Access Unit),傳輸的時候依D的遞增順序發送。
圖-1 兩層Spatial scalable 編碼示意圖
SVC定義了‘Scalable Base’, ‘Scalable High’和‘Scalable Intra’三個profile,其中‘Scalable Base’的約束條件如下:
1) 高、低分辨率圖像的高度和寬度的比值滿足
c等於1.5或2。
2) Spatial Offsets必須是圖像左上角開始,x和y方向都是16像素的整數倍。
另外兩個profile則支持任意的空間可伸縮性,比如基本層爲4:3的SD圖像,增強層爲16:9的HD圖像,這時在處理的時候除了縮放之外,還要考慮裁剪(cropping)和偏移(shifting)。SVC在picture語法中標明瞭位置和窗口參數,這樣裁剪、縮放和偏移可以以幀爲單位進行處理。
簡單說明一下inter-layer prediction
1.       Inter-layer motion prediction
SVC的MB syntax中增加了flag:base_mode_flag。當增強層的宏塊base_mode_flag =1的時候,宏塊的模式和對應的MV由低層的layer對應的8X8的塊預測。如果對應的低層8x8塊是4x8,那麼當前宏塊的模式就是8x16;8x4對應當前MB的16x8;8x8對應16x16,相應的MV等於底層8x8塊對應MVx2得到,reference index不變。
另外,對於PMV,SVC定義motion_prediction_flag_l0,motion_prediction_flag_l1來標明其是來自相鄰塊還是來自低層對應塊MV的倍數。
2.       Inter-layer residual prediction
MB數據中增加了residual_prediction_flag 來標識是否使用Inter-layer residual prediction,這跟宏塊base_mode_flag無關。Inter-layer residual prediction使用雙線性濾波器的方法對低層8x8子塊的residual進行插值作爲當前MB的residual的預測值,插值以變換單元爲基本單位(防止邊界混疊),對二者的差進行編碼。
3.       Inter-layer intra prediction
base_mode_flag=1,而低層對應8x8塊爲Intra的時候,增強層的當前塊的預測來自於低層co-located 8x8塊的插值,其中亮度的插值濾波器是一個一維4抽頭FIR濾波器,色度則用雙線性插值。Deblocking filtering在插值前執行。
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章