本發明涉及視頻技術領域,具體涉及一種視頻參考幀管理方法和系統。
背景技術:
編碼圖像分成三種類型:I幀、P幀和B幀。用來對編碼圖像進行預測的圖像稱為參考幀。其中,I幀是內部編碼幀,不需要參考其他幀,利用視頻圖像的空間相關性進行獨立壓縮編碼。P幀是前向預測幀,以I幀為參考幀,在I幀中找出P幀“某點”的預測值和運動矢量,取預測差值和運動矢量一起傳送。B幀是雙向內插幀,以前面的I或P幀和后面的P幀為參考幀,“找出”B幀“某點”的預測值和兩個運動矢量,并取預測差值和運動矢量傳送,接收端根據運動矢量在兩個參考幀中“找出(算出)”預測值并與差值求和,得到B幀“某點”樣值,從而得到完整的B幀。簡單地講,I幀是一個完整的畫面,而P幀和B幀記錄的是相對于I幀的變化。三種類型的編碼圖像在編碼過程中的參考關系可以利用圖1來表示,圖1中的箭頭表示參考關系,由參考幀指向編碼幀。
poc表示畫面順序計數,指示圖像的顯示順序;DPB表示保存所有的重建圖像隊列。
量化參數QP和量化步長Qstep的關系:
量化步長Qstep共有52個值(對于亮度編碼而言),量化參數QP是量化步長Qstep的序號,取值0~51。
其中,QP取最小值0時,表示量化最精細;相反,QP取最大值51時,表示量化最粗糙;Qstep隨著QP的增加而增加,QP每增加6,Qstep增加一倍。
對于色度編碼,QP的最大值是39。
ListX[i](i=0,1)表示參考幀圖像列表,其包含的參考幀指向DPB中的重建圖像。ListX[0]是前向參考幀圖像列表,P、B幀都會用到;ListX[1]是后向參考幀圖像列表,只有B幀會用到。
多參考幀的引入能夠提高編碼效率,現有的H.264、H.265和AVS2視頻編碼壓縮標準均支持多參考幀編碼。但是現有編碼方法中采用的參考幀排序方法只考慮到當前幀與參考幀的相鄰位置關系,如果參考幀與當前幀越近(poc差值小),那么分配的參考索引序號(ref_idx)越小。
例如:假設當前幀圖像序列號poc為10,那么當前幀的參考幀為0、6、7、8、9幀,排序如下所示:
前向參考隊列Ref_idx=4 3 2 1 0對應的參考幀為0、6、7、8、9。
現有的參考幀圖像列表的排序技術是根據圖像的poc差值來進行排序,不考慮各個圖像之間的質量差別,以及一些場景圖像的變化情況,導致編碼效率不高。
技術實現要素:
有鑒于此,本發明實施例提供了一種視頻參考幀管理方法和系統,解決了現有視頻編碼技術中編碼效率低下的問題。
本發明實施例提供的一種視頻參考幀管理方法包括:
參考幀圖像列表的初始化,通過基礎參數使參考幀得到初步排序;
參考幀圖像列表的重排序,通過基礎參數結合附加參數使參考幀得到重新排序。
本發明實施例提供的一種視頻參考幀管理系統包括:
初始化裝置101,用于參考幀圖像列表的初始化,通過基礎參數使參考幀得到初步排序;
重排序裝置102,用于參考幀圖像列表的重排序,通過基礎參數結合附加參數使參考幀得到重新排序。
本發明實施例提供的視頻參考幀管理方法和系統,通過將參考幀的QP值和參考幀與當前幀的poc差值作權重計算,獲得重排序序號并進行重排序,在參考幀的重排序過程中充分考慮到參考幀的圖像質量問題,提高了編碼效率。
附圖說明
圖1為I幀、P幀和B幀編碼圖像在編碼過程中的參考關系示意圖。
圖2所示為本發明實施例提供的一種視頻參考幀管理方法的流程示意圖。
圖3所示為本發明實施例提供的一種視頻參考幀管理系統的裝置示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
圖2所示為本發明實施例提供的一種視頻參考幀管理方法的流程示意圖。如圖2所示,以亮度編碼為例,本發明第一實施例中視頻參考幀管理方法步驟如下:
步驟01,參考幀圖像列表的初始化,通過基礎參數使參考幀得到初步排序。
步驟01中,基礎參數指參考幀與當前幀的poc差值。
步驟02,參考幀圖像列表的重排序,通過基礎參數結合附加參數使參考幀得到重新排序。
步驟02中,附加參數指各參考幀的QP值。
其中,步驟01還包括步驟03:
步驟03,將DPB中符合要求的參考幀按照與當前幀的poc差值進行初步排序,并存入參考幀圖像列表。
在步驟03的參考幀圖像列表中,短期參考按降序排列,長期參考按升序排列。
其中,步驟02還包括步驟04:
步驟04,計算各參考幀的QP值,將各參考幀的QP值和當前幀與參考幀的poc差值作權重,得出權重值,根據得出的權重值標記各參考幀并進行重排序。
在步驟04中,亮度編碼的QP值為0~51,取QP值權重占40%,參考幀poc差值權重占60%進行計算,通過計算得出的權重值對參考幀進行重排序。具體地為,根據得出的各參考幀權重值來確定該參考幀是否繼續作為參考幀,按照實際情況進行標記,標記為不作參考,還可以標記為短期參考和/或長期參考;并對繼續作為參考幀的各幀重新分配參考索引序號。
舉例說明,假設當前幀圖像序列號poc為10,那么當前幀的參考幀為0、6、7、8、9幀,QP值依次為5、30、35、40、45,其中0幀圖像質量好(QP值較小),則經過權重計算后得出的權重值依次為8、14.4、15.8、17.2、18.6,那么本發明參考幀重排序如下所示:
前向參考隊列Ref_idx=4 3 2 1 0對應的參考幀為9、8、7、6、0。
又比如,假設當前幀圖像序列號poc為10,那么當前幀的參考幀為0、6、7、8、9幀,其中QP值依次為10、20、30、40、50,則經過權重計算后得出的權重值依次為10、10.4、13.8、17.2、20.6,因此,重排序順序如下所示:
前向參考隊列Ref_idx=4 3 2 1 0對應的參考幀為9、8、7、6、0。
本發明第一實施例給出的視頻參考幀管理方法,在編碼時設置圖像質量較好的幀(QP值較小),用來保存更多圖像信息,使當前幀獲得更好的參考圖像信息,然后根據參考幀的圖像質量和與當前幀的距離(poc差值)作權重,根據得出的權重值來決定分配給各參考幀的參考索引序號。本發明第一實施例中的視頻參考幀管理方法,充分考慮了各幀圖像之間的質量差別以及當前幀與參考幀之間場景圖像的變化情況,提高了編碼效率。
圖2所示為本發明實施例提供的一種視頻參考幀管理方法的流程示意圖。如圖2所示,以色度編碼為例,本發明第二實施例中視頻參考幀管理方法步驟如下:
步驟01,參考幀圖像列表的初始化,通過基礎參數使參考幀得到初步排序。
步驟02,參考幀圖像列表的重排序,通過基礎參數結合附加參數使參考幀得到重新排序。
其中,步驟01還包括步驟03:
步驟03,將DPB中符合要求的參考幀按照與當前幀的poc差值進行初步排序,并存入參考幀圖像列表。
在步驟03的參考幀圖像列表中,短期參考按降序排列,長期參考按升序排列。
其中,步驟02還包括步驟04:
步驟04,計算各參考幀的QP值,將各參考幀的QP值和當前幀與參考幀的poc差值作權重,得出權重值,根據得出的權重值標記各參考幀并進行重排序。
在步驟04中,色度編碼的QP值為0~39,取QP值權重占50%,參考幀poc差值權重占50%進行計算,通過計算得出的權重值對參考幀進行重排序。具體地為,根據得出的各參考幀權重值來確定該參考幀是否繼續作為參考幀,按照實際情況進行標記,標記為不作參考,還可以標記為短期參考和/或長期參考;并對繼續作為參考幀的各幀重新分配參考索引序號。
舉例說明,假設當前幀圖像序列號poc為10,那么當前幀的參考幀為0、6、7、8、9幀,QP值依次為5、15、25、35、38,其中0幀圖像質量好(QP值較小),則經過權重計算后得出的權重值依次為7.5、9.5、14、18.5、19.5,那么本發明參考幀重排序如下所示:
前向參考隊列Ref_idx=4 3 2 1 0對應的參考幀為9、8、7、6、0。
又比如,假設當前幀圖像序列號poc為10,那么當前幀的參考幀為0、6、7、8、9幀,其中QP值依次為5、10、15、30、20,則經過權重計算后得出的權重值依次為7.5、7、9、16、10.5,因此,重排序順序如下所示:
前向參考隊列Ref_idx=4 3 2 1 0對應的參考幀為8、9、7、0、6。
本發明第二實施例給出的視頻參考幀管理方法,利用色度編碼的QP值與參考幀與當前幀的poc差值來進行權重計算,得出權重值。根據得出的權重值對參考幀圖像列表進行重排序。本發明第二實施例中的視頻參考幀管理方法,充分考慮了各幀圖像之間的質量差別以及當前幀與參考幀之間場景圖像的變化情況,提高了編碼效率。
實際應用過程中,本發明實施例中計算權重時的參數形式和具體參數值可根據實際需求進行設置,不限于本發明實施例中給出的權重設置方法。
應當注意,在進行圖像編碼時,為了獲得質量相對較好的幀,可以人為設置較小QP值的圖像,從而得到圖像質量較好的參考幀。
圖3所示為本發明實施例提供的一種視頻參考幀管理系統的裝置示意圖。如圖3所示,本發明第一實施例提供的視頻參考幀管理系統包括:
初始化裝置101,用于參考幀圖像列表的初始化,通過基礎參數使參考幀得到初步排序。
重排序裝置102,用于參考幀圖像列表的重排序,通過基礎參數結合附加參數使參考幀得到重新排序。
初始化裝置101中包括:
初步排序裝置103,用于將DPB中符合要求的參考幀按照與當前幀的poc差值進行初步排序,并存入參考幀圖像列表。
重排序裝置102中包括:
計算權重并排序裝置104,用于計算各參考幀的QP值,將各參考幀的QP值和當前幀與參考幀的poc差值作權重,得出權重值,根據得出的權重值標記各參考幀并進行重排序。
圖3所示為本發明實施例提供的一種視頻參考幀管理系統的裝置示意圖。如圖3所示,本發明第二實施例提供的視頻參考幀管理系統包括:
初始化裝置101,用于參考幀圖像列表的初始化,通過基礎參數使參考幀得到初步排序。
重排序裝置102,用于參考幀圖像列表的重排序,通過基礎參數結合附加參數使參考幀得到重新排序。
初始化裝置101中包括:
初步排序裝置103,用于將DPB中符合要求的參考幀按照與當前幀的poc差值進行初步排序,并存入參考幀圖像列表。
重排序裝置102中包括:
計算權重并排序裝置104,用于計算各參考幀的QP值,將各參考幀的QP值和當前幀與參考幀的poc差值作權重,得出權重值,根據得出的權重值標記各參考幀并進行重排序。
應當理解,盡管在上文的詳細描述中提及了裝置的若干模塊或單元,但是這種劃分僅僅是示例性而非強制性的。實際上,根據本發明的示例性實施方式,上文描述的兩個或更多模塊/單元的特征和功能可以在一個模塊/單元中實現,反之,上文描述的一個模塊/單元的特征和功能可以進一步劃分為由多個模塊/單元來實現。此外,上文描述的某些模塊/單元在某些應用場景下可被省略。
還應當理解,為了不模糊本發明的實施方式,說明書僅對一些關鍵、未必必要的技術和特征進行了描述,而可能未對一些本領域技術人員能夠實現的特征做出說明。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換等,均應包含在本發明的保護范圍之內。