筆記 :AVS2背景建模

BG幀:用於計算一個圖像與背景的差分結果的背景圖像緩衝;在差分模式啓用時,BG幀是S幀的參考幀.

差分預測全局運動矢量數量global_mv_num_x

     4位無符號整數。表示當前圖像在差分模式下與BG幀做差分運算時用到的橫軸軸方向的全局運動矢量數量。


差分預測全局運動矢量數量global_mv_num_y

     4位無符號整數。表示當前圖像在差分模式下與BG幀做差分運算時用到的縱軸方向的全局運動矢量數量。


差分預測全局運動矢量global_mv_x[i]

     4位無符號整數。表示當前圖像在差分模式下與BG幀做差分運算時用到的全局運動矢量的橫座標。


差分預測全局運動矢量global_mv_y[i]

     4位無符號整數。表示當前圖像在差分模式下與BG幀做差分運算時用到的全局運動矢量的縱座標。


差分模式允許標誌   difference_mode_enable標誌。

     值爲“1”表示當前圖像允許使用差分模式編碼。值爲“0”表示當前圖像不使用差分模式編碼。


宏塊差分模式標誌   difference_mode_flag

標誌。值爲“1”表示當前宏塊使用差分模式編碼。值爲“0”表示當前宏塊不使用差分模式編碼。


背景圖像輸出標誌  background_picture_output_flag

標誌。如果該標誌不存在,BackgroundPictureOutputFlag的值爲1。如果background_picture_output_flag的值爲“1”,表示當前圖像是應被輸出的G幀,BackgroundPictureOutputFlag的值爲1;如果background_picture_output_flag的值爲“0”,表示當前圖像是不應被輸出的G幀,BackgroundPictureOutputFlag的值爲0

背景圖像輸出標誌difference_mode_enable

標誌。值爲“1”表示當前圖像啓用已經允許使用的差分模式,DiffModeEnable的值爲1;值爲“0”表示當前圖像關閉已經允許使用的差分模式,DiffModeEnable的值爲0。 

場景自適應標誌  scene_adapt_disable

標誌。值爲“1”表示當前圖像不應使用場景自適應;值爲“0”表示使用場景自適應。SceneAdaptDisable的值等於scene_adapt_disable的值。


場景模型更新標誌  scene_model_update_flag

標誌。值爲“1”表示應更新場景模型;值爲“0”表示不更新場景模型。SceneModelUpdate的值等於scene_model_update_flag的值。

frames_before_next_intra

   存在時,FramesBeforeNextIntra值等於frames_before_next_intra,不存在時FramesBeForeNextIntra值爲0。

圖像間距相同標誌  next_distance_equal_flag

    1位無符號整數,該標誌存在且值爲1表示該幀與後一幀的picture_distance相同。



9.4.5 參考圖像選擇

——如果當前圖像是S幀並且PictureStructure 等於1,

——如果DifferenceModeEnable等於0,其參考圖像是最近解碼的G 幀。

——如果DifferenceModeEnable等於1,參考圖像是當前的BG幀。

參考圖像的標記方法如圖29所示。此時NumberOfReference 等於1。

——如果當前圖像是S幀並且PictureStructure 等於0,同時當前解碼場在顯示順序上是第一場:

——如果DifferenceModeEnable等於0,其參考圖像是最近解碼的G 幀的第一場;

——如果DifferenceModeEnable等於1,參考圖像是當前的BG幀的第一場。

參考圖像的標記方法如圖30所示。此時NumberOfReference 等於1。

——如果當前圖像是S幀並且PictureStructure 等於0,同時當前解碼場在顯示順序上是第二場:

——如果DifferenceModeEnable等於0,其參考圖像是最近解碼的G 幀的第二場;

——如果DifferenceModeEnable等於1,參考圖像是當前的BG幀的第二場。

參考圖像的標記方法如圖31所示。此時NumberOfReference 等於1。

 

9.4.6 在視頻中新加入一個建模圖像,編碼時只要保證給該圖像分配幀號,打包時分配時間戳,那麼在解碼時的問題就如同普通的不輸出G幀。解決了普通的不輸出G幀的問題,建模G幀的問題就迎刃而解.


9.4.7  備註:

通過將背景建模圖像作爲G幀編入碼流,這樣一來,S幀在參考G幀編碼時就可以得到更好的率失真特性,後續的PB幀通過參考S幀可以進一步獲得編碼效率提升,進而可以顯著提高監控視頻的編碼性能。

但是,由於將背景建模圖像作爲G幀編入碼流爲視頻序列引入了一個額外的編碼幀,將會產生下列影響:

1、對於同時實時工作的編碼+解碼系統,在線工作時,要保證解碼器的解碼延遲不會累積。由於解碼器大體上按照標準規定的“兩幀時間間隔=幀率的倒數的”進行解碼,如果編碼端不丟幀,由於編碼器中需要添加一幀背景建模幀,會導致播放時間大於編碼端輸入數據的時間,導致解碼器播放器延遲累積。因而編碼端需要丟一幀並將該幀的id分配給背景建模幀。於是,在規定的時間T內,信源輸入的幀數爲T×幀率,而編碼器只編碼了T×幀率-1幀原始圖像,以及1幀建模背景,因而出現編碼端丟幀的情況。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章