背景幀的碼率控制方法和裝置與流程
2023-11-30 13:22:51
本發明涉及數字視頻的編解碼技術領域,尤其涉及一種背景幀的碼率控制方法和裝置。
背景技術:
近年來,多種基於背景建模的監控視頻編碼方法被提出,有效減少了視頻編碼的背景冗餘,顯著提升了編碼性能。為了使背景幀對後續幀編碼起到更好的預測參考作用,建模得到的背景幀往往以較高質量編入碼流中。因此,背景幀的比特數明顯大於普通編碼幀的比特數,造成瞬時碼率突增,緩衝器溢出,重建背景幀也無法被參考。
實際視頻編碼應用中,需要對整個序列進行碼率控制來滿足傳輸帶寬的需求,碼率控制下的基於背景建模的監控視頻編碼方法碼流平穩,但是大大削弱了背景幀參考帶來的性能,甚至出現性能損失。而背景幀中並不是所有區域的預測參考價值都相同。
技術實現要素:
本發明的實施例提供了一種背景幀的碼率控制方法和裝置,有效解決了視頻傳輸過程中瞬時碼率突增問題,並且儘可能保證了背景幀的參考價值。
為了實現上述目的,本發明採取了如下技術方案。
一種背景幀的碼率控制方法,包括:
判定待編碼背景幀的不同區域的預測參考價值,所述預測參考價值為預測的在進行幀間預測時待編碼背景幀的不同區域對待編碼普通幀的參考價值;
根據所述預測參考價值,設定所述待編碼背景幀的不同區域的重要性級別;
根據所述不同區域的重要性級別,調整所述待編碼背景幀的不同區域的編碼質量。
所述判定待編碼背景幀的不同區域的預測參考價值的步驟包括:
統計進行幀間預測時預訂數量的已編碼普通幀對已編碼背景幀的不同區域的參考次數;
根據所述已編碼普通幀對已編碼背景幀的不同區域的參考次數,判定待編碼背景幀的對應區域的預測參考價值。
所述根據所述已編碼普通幀對已編碼背景幀的不同區域的參考次數,判定待編碼背景幀的對應區域的預測參考價值的步驟包括:
所述已編碼普通幀對已編碼背景幀的區域的參考次數越多,則判定為:待編碼背景幀的對應區域的預測參考價值越大。
所述判定待編碼背景幀的不同區域的預測參考價值的步驟包括:
在背景建模過程中,獲取預定數量的待編碼普通幀序列;
計算所述普通幀序列中的相鄰普通幀的同位點像素值的差值的絕對值;
將所述差值的絕對值和閾值進行比較;
如果所述差值的絕對值小於所述閾值,則表示所述相鄰普通幀的同位像素值變化不大,前景經過的概率較小,則不進行分段;否則,在所述相鄰普通幀處對所述普通幀序列進行分段;
統計所述各個像素點對所述普通幀序列的分段段數,生成所述普通幀序列的各個區域的分段段數;
根據所述普通幀序列的各個區域的分段段數,判定待編碼背景幀的不同區域的預測參考價值。
所述根據所述普通幀序列的各個區域的分段段數,判定待編碼背景幀的不同區域的預測參考價值的步驟包括:
所述普通幀序列的區域的分段段數越少,則判定為:待編碼背景幀的對應區域的預測參考價值越高。
所述根據所述不同區域的重要性級別,調整所述待編碼背景幀的不同區域的編碼質量的步驟包括:
基於編碼樹單元,調整所述待編碼背景幀的不同區域的編碼質量;
或者,基於編碼單元或宏塊,調整所述待編碼背景幀的不同區域的編碼質量;
或者,基於預測單元,調整所述待編碼背景幀的不同區域的編碼質量;
或者,基於變換單元,調整所述待編碼背景幀的不同區域的編碼質量;
或者,基於像素,調整所述待編碼背景幀的不同區域的編碼質量。
所述根據所述不同區域的重要性級別,調整所述待編碼背景幀的不同區域的編碼質量的步驟包括:
按照所述待編碼背景幀的不同區域的重要性級別,給所述待編碼背景幀的不同區域分配不同的用於編碼的比特數。
一種背景幀的碼率控制裝置,包括:
判定單元,判定待編碼背景幀的不同區域的預測參考價值,所述預測參考價值為在進行幀間預測時待編碼背景幀的不同區域對待編碼普通幀的參考價值;
設定單元,根據所述預測參考價值,設定所述待編碼背景幀的不同區域的重要性級別;
調整單元,根據所述不同區域的重要性級別,調整所述待編碼背景幀的不同區域的編碼質量。
所述判定單元包括:
統計子單元,統計進行幀間預測時預訂數量的已編碼普通幀對已編碼背景幀的不同區域的參考次數;
判斷子單元,根據所述已編碼普通幀對已編碼背景幀的不同區域的參考次數,判定待編碼背景幀的對應區域的預測參考價值。
所述判定單元包括:
獲取子單元,在背景建模過程中,獲取預定數量的待編碼普通幀序列;
計算子單元,計算所述普通幀序列中的相鄰普通幀的同位點像素值的差值的絕對值;
比較子單元,將所述差值的絕對值和閾值進行比較;
分段子單元,如果所述差值的絕對值小於所述閾值,則表示所述相鄰普通幀的同位像素值變化不大,前景經過的概率較小,則不進行分段;否則,在所述相鄰普通幀處對所述普通幀序列進行分段;
統計子單元,統計所述各個像素點對所述普通幀序列的分段段數,生成所述普通幀序列的各個區域的分段段數;
判定子單元,根據所述普通幀序列的各個區域的分段段數,判定待編碼背景幀的不同區域的預測參考價值。
由上述本發明的實施例提供的技術方案可以看出,本發明實施例中,根據所述預測參考價值,調整所述待編碼背景幀的不同區域的編碼質量,通過改變背景幀不同參考價值區域的編碼質量,有效解決了視頻傳輸過程中瞬時碼率突增問題,並且儘可能保證了背景幀的參考價值。
本發明附加的方面和優點將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發明的實踐了解到。
附圖說明
為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例一提供的一種背景幀的碼率控制方法的處理流程圖;
圖2為本發明實施例一提供的一種背景幀的碼率控制方法的一實施例中的視頻序列的示意圖;
圖3為本發明實施例一提供的一種背景幀的碼率控制方法的另一實施例中的視頻序列的示意圖。
圖4為本發明一種背景幀碼率控制方法的另一實施例的流程圖;
圖5為本發明一種實施例的編碼樹單元(CTU)級背景幀碼率控制方法的步驟框圖。
圖6為本發明實施例一提供的一種背景幀的碼率控制裝置的處理流程圖。
具體實施方式
下面詳細描述本發明的實施方式,所述實施方式的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施方式是示例性的,僅用於解釋本發明,而不能解釋為對本發明的限制。
本技術領域技術人員可以理解,除非特意聲明,這裡使用的單數形式「一」、「一個」、「所述」和「該」也可包括複數形式。應該進一步理解的是,本發明的說明書中使用的措辭「包括」是指存在所述特徵、整數、步驟、操作、元件和/或組件,但是並不排除存在或添加一個或多個其他特徵、整數、步驟、操作、元件、組件和/或它們的組。應該理解,當我們稱元件被「連接」或「耦接」到另一元件時,它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這裡使用的「連接」或「耦接」可以包括無線連接或耦接。這裡使用的措辭「和/或」包括一個或更多個相關聯的列出項的任一單元和全部組合。
本技術領域技術人員可以理解,除非另外定義,這裡使用的所有術語(包括技術術語和科學術語)具有與本發明所屬領域中的普通技術人員的一般理解相同的意義。還應該理解的是,諸如通用字典中定義的那些術語應該被理解為具有與現有技術的上下文中的意義一致的意義,並且除非像這裡一樣定義,不會用理想化或過於正式的含義來解釋。
為便於對本發明實施例的理解,下面將結合附圖以幾個具體實施例為例做進一步的解釋說明,且各個實施例並不構成對本發明實施例的限定。
以下描述本發明的應用場景。
實施例1:
如圖1所示,為本發明所述的一種背景幀的碼率控制方法,包括:
步驟11,判定待編碼背景幀的不同區域的預測參考價值,所述預測參考價值為在進行幀間預測時待編碼背景幀的不同區域對待編碼普通幀的參考價值;
步驟12,根據所述預測參考價值,設定所述待編碼背景幀的不同區域的重要性級別;
步驟13,根據所述不同區域的重要性級別,調整所述待編碼背景幀的不同區域的編碼質量。
本發明通過改變背景幀不同參考價值區域的編碼質量,有效解決了視頻傳輸過程中瞬時碼率突增問題,並且儘可能保證了背景幀的參考價值。也就是說,本發明根據背景幀不同區域的預測參考價值高低,改變背景幀不同區域質量,對背景幀進行碼率控制,保證背景幀預測參考價值的情況下解決視頻傳輸過程中瞬時碼率突增的問題。
在一實施例中,步驟11包括:
步驟111,統計進行幀間預測時預訂數量的已編碼普通幀對已編碼背景幀的不同區域的參考次數;步驟111具體為:所述已編碼普通幀對已編碼背景幀的區域的參考次數越多,則判定為:待編碼背景幀的對應區域的預測參考價值越大。
步驟112,根據所述已編碼普通幀對已編碼背景幀的不同區域的參考次數,判定待編碼背景幀的對應區域的預測參考價值。
圖2所示,所述本發明所述的一種背景幀的碼率控制方法包括:
步驟1,統計已編碼普通幀(第1~n-1幀)在幀間預測時對已編碼背景幀(第0幀)不同區域的參考次數;
步驟2,根據第1步中統計得到的已編碼背景幀第0幀的被參考次數,對待編碼背景幀第n幀進行預測,對第n幀劃分為重要和不重要區域兩級(或更多級別),參考次數多的為更重要區域;
步驟3,設定不同的調整力度,如基於編碼單元或基於編碼樹單元等;
步驟4,在背景幀第n幀中,以第3步中設定的調整力度為單位(即以不同大小的塊為單位)分配不同的比特數,分配比特數越高,編碼質量越高。
在另一實施例中,步驟11步驟包括:
步驟211,在背景建模過程中,獲取預定數量的待編碼普通幀序列;
步驟212,計算所述普通幀序列中的相鄰普通幀的同位點像素值的差值的絕對值;
步驟213,將所述差值的絕對值和閾值進行比較;
步驟214,如果所述差值的絕對值小於所述閾值,則表示所述相鄰普通幀的同位像素值變化不大,前景經過的概率較小,則不進行分段;否則,在所述相鄰普通幀處對所述普通幀序列進行分段;
步驟215,統計所述各個像素點對所述普通幀序列的分段段數,生成所述普通幀序列的各個區域的分段段數;
步驟216,根據所述普通幀序列的各個區域的分段段數,判定待編碼背景幀的不同區域的預測參考價值。步驟216具體為:所述普通幀序列的區域的分段段數越少,則判定為:待編碼背景幀的對應區域的預測參考價值越高。
例如,如圖3所示,本發明所述的一種背景幀的碼率控制方法包括:
步驟1,對於待編碼普通幀(第1~n-1幀)上的同位像素點,如a1、a2、a3…an-1,並且認為a1至an-1是一整段,在編碼過程中,計算相鄰兩幀同位像素點的差值,例如a2-a1、a3-a2、a4-a3……an-1-an-2。如果差值大於設定閾值,說明相鄰兩幀該點像素值變化較大,很可能是有前景經過或前背景切換,那麼就進行分段處理。例如,a8-a7大於閾值,則認為a1至a7是一段,a8到an-1是一段,那麼原來的一整段就被分成了兩段。根據此方法,在編碼過程中,對第1~n-1幀上每個同位像素點的分段段數進行統計,分段段數越少,說明像素值穩定,很可能為背景區域。此步驟結束後,第n-1幀及其之前的圖像完成編碼。
步驟2,根據第一步中得到的分段段數統計,對待編碼背景幀第n幀進行預測,對第n幀劃分為重要和不重要區域兩級(或更多級別),統計段數越少的為更重要區域;
步驟3,設定不同的調整力度,如基於編碼單元或基於編碼樹單元等。
步驟4,在待編碼背景幀第n幀中,以第3步中設定的調整力度為單位(即以不同大小的塊為單位)分配不同的比特數,分配比特數越高,編碼質量越高。
步驟13包括:
基於編碼樹單元,調整所述待編碼背景幀的不同區域的編碼質量;
或者,基於編碼單元或宏塊,調整所述待編碼背景幀的不同區域的編碼質量;
或者,基於預測單元,調整所述待編碼背景幀的不同區域的編碼質量;
或者,基於變換單元,調整所述待編碼背景幀的不同區域的編碼質量;
或者,基於像素,調整所述待編碼背景幀的不同區域的編碼質量。
或者,步驟13包括:
按照所述待編碼背景幀的不同區域的重要性級別,給所述待編碼背景幀的不同區域分配不同的用於編碼的比特數。
另一實施例:
如圖4所示,本發明提出了一種視頻編碼中背景幀碼率控制方法,該方法的步驟包括:
步驟41,根據一段編碼時間內不同預測單元對背景幀的參考情況,來預測(判定)待編碼背景幀的不同區域的預測參考價值的高低;
步驟42,將背景幀不同區域按重要程度進行級別劃分;也就是說,根據不同區域的預測參考價值不同,對當前待編碼背景幀進行區域劃分;例如:根據預測參考價值高低,將背景幀劃分為重要區域和非重要區域兩級,或者更精細地劃分為更多級別。
步驟43,根據設定的調整力度,對背景幀不同重要級別的區域進行編碼質量調整;也就是說,調整背景幀中不同預測參考價值區域的質量。例如,設定基於編碼樹單元,或基於編碼單元或宏塊,或基於預測單元,或基於變換單元,或基於像素的調整力度,對背景幀不同重要級別,基於設定的調整力度,對背景幀更重要的級別分配更多比特數,反之,分配更少比特數;
步驟44,更新背景幀不同區域質量改變後需要調整的參數。例如,修正或更新背景幀不同區域質量調整後的需要隨之調整的參數,包括但不限於量化參數、拉格朗日乘子的更新和其他參數修正。
其中,步驟41使用的判定方法為:根據一段編碼時間內不同預測單元對背景幀的參考情況,來預測待編碼背景幀不同區域預測參考價值的高低。
其中,步驟42具體為:將背景幀劃分為重要區域和非重要區域兩級,或者,將背景幀不同區域按重要程度劃分為更多級別。
其中,步驟43中,對於調整背景幀不同預測參考價值區域的質量的調整力度,可以基於編碼樹單元對背景幀質量進行調整;或者,基於編碼單元或宏塊對背景幀質量進行調整;或者,基於預測單元對背景幀質量進行調整;或者,基於變換單元對背景幀質量進行調整;或者,基於像素對背景幀質量進行調整。
步驟43可以基於編碼樹單元對背景幀不同重要級別的區域進行比特數分配調整,對背景幀更重要級別的區域分配更多比特數,反之,分配更少比特數;或者,基於編碼單元或宏塊對背景幀不同重要級別的區域進行比特數分配調整,對背景幀更重要級別的區域分配更多比特數,反之,分配更少比特數;或者,基於預測單元對背景幀不同重要級別的區域進行比特數分配調整,對背景幀更重要級別的區域分配更多比特數,反之,分配更少比特數;或者,基於變換單元對背景幀不同重要級別的區域進行比特數分配調整,對背景幀更重要級別的區域分配更多比特數,反之,分配更少比特數;或者,基於像素對背景幀不同重要級別的區域進行比特數分配調整,對背景幀更重要級別的區域分配更多比特數,反之,分配更少比特數。
對於背景幀碼率控制方法,在步驟43之後,還包括:
步驟44,更新背景幀不同區域質量改變後需要調整的參數。
以下描述另一實施例。
圖5示出了本發明一個實施例的背景幀碼率控制方法示意圖。如圖5所示,本實施例的背景幀碼率控制方法包括:
S1:判定背景幀中不同區域的預測參考價值高低。
背景幀中不同區域的預測參考價值判定是算法的基礎環節,精確的預測價值判定有助於編碼性能的提升。採用基於背景建模的判定方法。在背景建模過程中,將前後兩幀同位像素點的差值和預設的閾值進行比較。如果差值小於這一閾值,該像素點的像素值在前後兩幀變化不大,則不分段;否則,該像素點的像素值在前後兩幀有較大變化,進行分段。對背景建模過程中各個像素點的分段段數進行統計,分段段數多的區域是前景出現頻率高的區域,預測參考價值較低,分段段數少的區域是前景出現頻率低的區域,預測參考價值較高。
S2:根據不同區域的預測參考價值不同,對當前待編碼背景幀進行區域劃分。
具體為:設定判定閾值,將背景區域劃分為重要區域,非重要區域和一般區域三級。
S3:調整背景幀中不同預測參考價值區域的質量。
圖5中,Bg(background)表示背景建模生成的背景幀。S-GOP(super-group of pictures超級圖片組)是用於背景更新採用的結構,在S-GOP中,初始的一段序列在編碼過程中,通過背景建模得到用於S-GOP1幀間參考的背景幀Bg1,而S-GOP1中最後一段序列在編碼過程中通過背景建模得到用於下一個S-GOP幀間參考的背景幀,以此類推。
以CTU級調整背景幀量化參數,對於預測參考價值高區域,採用較小量化參數,提升編碼質量並分配較多比特數;對於預測參考價值低區域,採用較大量化參數,降低編碼質量並減少分配比特數;對於預測參考價值一般區域,採用原有量化參數,編碼質量保持不變。
S4:相關參數的修正和更新。
消除最佳預測模式對編碼性能的影響,當相鄰預測單元的質量比當前預測單元質量差時,停止對相鄰預測單元預測模式的參考,不使用最佳預測模式。同時,根據調整後的量化參數,更新拉格朗日乘子值。
該實例測試基於高性能視頻編碼(HEVC)平臺,在低延時配置下,對比參考方法為HEVC參考軟體HM12.0的碼率控制方法,編碼幀數為1020幀,前120幀為訓練集,120幀之後可得到背景幀,編碼性能用BD-rate(碼率)和BD-PSNR(峰值信噪比)表示,背景幀編碼比特數和I幀編碼比特數的比值用BG/I表示。QP表示初始幀的量化參數。測試序列來自北京大學數字媒體所數據集PKU-SVD-A,其中後綴sd表示解析度為720x576的視頻序列,hd表示解析度為1920x1080的視頻序列。實驗結果如表1所示。
由表1可以得出,本發明提出方法編碼性能更好,背景幀編碼比特數接近I幀編碼比特數,得到的碼流不會引起碼率突增。
表1
如圖6所示,為本發明所述的一種背景幀的碼率控制裝置,包括:
判定單元61,判定待編碼背景幀的不同區域的預測參考價值,所述預測參考價值為在進行幀間預測時待編碼背景幀的不同區域對待編碼普通幀的參考價值;
設定單元62,根據所述預測參考價值,設定所述待編碼背景幀的不同區域的重要性級別;
調整單元63,根據所述不同區域的重要性級別,調整所述待編碼背景幀的不同區域的編碼質量。
所述判定單元61包括:
統計子單元,統計進行幀間預測時預訂數量的已編碼普通幀對已編碼背景幀的不同區域的參考次數;
判斷子單元,根據所述已編碼普通幀對已編碼背景幀的不同區域的參考次數,判定待編碼背景幀的對應區域的預測參考價值。
在一個實施例中,所述判定單元61包括:
獲取子單元,在背景建模過程中,獲取預定數量的待編碼普通幀序列;
計算子單元,計算所述普通幀序列中的相鄰普通幀的同位點像素值的差值的絕對值;
比較子單元,將所述差值的絕對值和閾值進行比較;
分段子單元,如果所述差值的絕對值小於所述閾值,則表示所述相鄰普通幀的同位像素值變化不大,前景經過的概率較小,則不進行分段;否則,在所述相鄰普通幀處對所述普通幀序列進行分段;
統計子單元,統計所述各個像素點對所述普通幀序列的分段段數,生成所述普通幀序列的各個區域的分段段數;
判定子單元,根據所述普通幀序列的各個區域的分段段數,判定待編碼背景幀的不同區域的預測參考價值。
以上所述,僅為本發明較佳的具體實施方式,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應該以權利要求的保護範圍為準。