場景自適應的屏幕編碼碼率控制方法及其系統的製作方法
2023-05-31 10:39:36 1
專利名稱:場景自適應的屏幕編碼碼率控制方法及其系統的製作方法
技術領域:
本發明涉及的是一種視頻圖像處理領域的方法及系統,具體是一種場景自適應的屏幕編碼碼率控制方法及其系統。
背景技術:
屏幕視頻編碼,簡稱屏幕編碼,指的是將顯示於一臺計算機屏幕的內容實時採集下來並對其進行壓縮編碼以降低數據量的方法,編碼後的數據可以實時傳輸到遠程終端上進行解碼顯示或者保存到本地文件中供事後回放,被廣泛運用於遠程教育、網絡會議、遠程 桌面連接等領域。碼率控制是視頻編碼的重要組成部分,指的是將壓縮後的碼流的比特率限定在一個預設的上限之下的技術手段,在屏幕編碼中,由於計算機屏幕往往解析度較高,編碼數據量變化範圍較大,碼率控制對於編碼後的視頻質量和編碼系統對不同的網絡條件的適應能力有重要的作用。在常見的需要對屏幕進行編碼的應用中,既包含a.變化很小甚至基本不動的場景,例如在遠程教育領域中老師在屏幕上播放ppt,可能很長時間才會翻過一頁,又包含一些b.激烈變化的場景,例如老師在屏幕上播放一段演示視頻以輔助教學,還包含c.上述a與b的混合或者交替的場景,即相較於傳統自然視頻,屏幕視頻往往包括更加豐富的場景變化。而且人體視覺系統對於不同場景的視覺特性也不同在變化很小的場景中側重於畫面的靜態質量,即在上述PPt播放例子中要求畫面清晰能夠看清ppt中的所有文字並且儘量避免塊效應等缺陷;而在變化激烈的場景中則側重於畫面的連續性,即在上述的視頻播放例子中要求視頻能夠平滑變化流暢播放。已有的視頻編碼碼率控制方法大體上可以分為兩種以犧牲質量為代價降低碼率和以犧牲幀率為代價降低碼率。兩者都以單一的方案應對屏幕中可能出現的不同場景,無法滿足上述的屏幕編碼時出現的情況的要求。經對現有技術的文獻檢索發現美國專利號US2007/0153692A1 的專利 Methods and Apparatuses forPerforming Scene Adaptive Rate Control (場景自適應碼率控制方法與設備)提出了根據網絡帶寬和相鄰幀變化部分調整目標碼率和幀率進行碼率控制的方法;美國專利號US5872598 的專利 Scene Change Detection Using QuantizationScale Factor Rate Control (使用量化比例因子碼率控制的場景切換檢測)提出了根據計算當前幀與參考幀之間的絕對差值之和進行場景切換檢測,若檢測到場景切換則重新計算量化比例因子開始一個新的畫面組的編碼的碼率控制方法;中國專利申請號200910054923. 4的專利屏幕編碼的碼率控制方法提出了一種利用典型屏幕場景下相鄰幀往往變化較小的特點在固定的碼率的上限之下分塊分時按片收發的碼率控制方法。此夕卜,Block-based method for real-time compound video compression, inProceedings of Mobile Multimedia/Image Processing, Security, and Applications2010, ser.Presented at the SPIE, vol.7708, Orlando, Florida, USA, Apr.2010,pp. 77080S-77080S-8 (基於分塊的實時混合視頻壓縮方法)提出了一種基於單幀變化區域面積的碼率控制方法,解決了在場景切換中傳統的碼率控制算法可能失效的問題;
Improved rate control and motion estimation for h. 264 encoder,in ImageProcessing,2007. ICIP 2007. IEEE International Conference on, vol. 5. IEEE,2007,pp. V-309 (改進的H. 264編碼器碼率控制和運動估計算法)中介紹了基於H. 264框架實現的編碼器x264中實現的碼率控制算法,在其中適用於直播場景的單趟碼率控制(one-passRC)方法中,固定質量參數模式(CQP)使用固定的質量參數;平均碼率模式(ABR)根據已編碼數據的平均複雜度來預測當前幀的複雜度並以此選擇量化參數;固定質量因子模式(CRF)使用固定的質量因子。在上述方法中US2007/0153692A1、US5872598和ffiEE文獻中的ABR模式與CRF模式主要為b場景設計,能夠控制生成碼流的比特率而且保障屏幕在播放視頻時的流暢性,但是無法滿足屏幕在a場景時對靜態畫面質量的要求;CN200910054923. 4中記載的技術雖然充分利用a場景的特點,不影響屏幕圖像的解析度並且在有效控制峰值碼率的基礎上保障畫面質量的清晰度,但是當屏幕進入b場景之後會頻繁跳幀導致視頻無法流暢播放;SPIE文獻中記載的方法雖然在一定程度上考慮了 a場景和b場景的差異性,但是直接依據變化區域面積來調整量化參數將會導致視頻質量的不穩定;而IEEE文獻中記載的方法的CQP模式雖然對a場景和b場景的編碼效果都比較理想,但是無法控制峰值碼率。
發明內容
本發明針對現有技術存在的上述不足,提供一種場景自適應的屏幕編碼碼率控制方法及其系統,對屏幕播放場景進行分類並選用適用於當前屏幕播放場景類別的碼率控制方案。本發明在有效控制峰值碼率的基礎上,能夠在對屏幕圖形界面操作場景的編碼中取得更高的PSNR保障清晰度,在對屏幕視頻播放場景的編碼中維持穩定且更高的幀率保障流暢度。本發明是通過以下技術方案實現的本發明涉及一種場景自適應的屏幕編碼碼率控制方法,通過檢測屏幕信息的變化劇烈程度並分類後,針對分類得到的不同運動場景調用對應的碼率控制方案得以實現,本方法具體步驟包括步驟一、首先採集屏幕信息之後根據屏幕內容的變化劇烈程度通過相鄰幀變化評估以及連續幀變化評估區分為慢速運動場景和快速運動場景。所述的屏幕信息是指屏幕所顯示的若干幀;所述的變化劇烈程度是指依次進行相鄰幀變化評估以及連續幀變化評估,其中所述的相鄰幀變化評估是指根據當前幀相比上一幀圖像發生變化的部分的面積是否大於屏幕解析度的60%判斷當前幀是否是顯著變化幀。所述的連續幀變化評估是指根據包含當前幀在內的連續若干幀的相鄰幀變化評估結果,即是否是顯著變化幀判斷當前屏幕播放場景,具體為初始默認屏幕播放場景為慢速運動場景,然後參考連續若干幀是否顯著變化進行播放場景識別的如下分類a)當連續若干幀都是顯著變化幀則判定當前的屏幕處於快速運動場景;b)當連續若干幀都是非顯著變化幀則判定當前的屏幕處於慢速運動場景;c)其他情況不改變當前屏幕播放場景。所述的包含當前幀在 內的連續若干幀是指當前幀的前若干幀和/或者當前幀的後若干幀;所述的若干幀的幀數的計算公式為幀數=[預設參考時間X幀率],其中參考時間為0. 1-2秒,幀率為10-30幀/秒。步驟二、根據屏幕播放場景分類結果調用對應適用該類別的碼率控制方案,具體為針對慢速運動場景,根據碼率的上限調整輸出碼流的幀率來控制碼率;針對快速運動場景,根據碼率的上限調整編碼量化參數(QP)來控制碼率。所述的碼率的上限是指單位時間內能夠傳輸的數據量的上限。本發明涉及一種場景自適應的屏幕編碼碼率控制系統,包括屏幕信息採集模塊、場景分類模塊、碼率控制模塊、編碼模塊,其中屏幕信息採集模塊與場景分類模塊相連並傳輸變化區域信息,屏幕信息採集模塊與編碼模塊相連並傳輸屏幕圖像原始數據,場景分類模塊與碼率控制模塊相連並傳輸當前屏幕場景分類信息,碼率控制模塊與編碼模塊相連並傳輸碼率控制參數信息,編碼模塊輸出編碼壓縮後的數據。本發明在有效控制峰值碼率的基礎上,能夠保障對屏幕圖形界面操作場景編碼的清晰度和對屏幕視頻播放場景編碼的流暢度,並且在對二者混合的場景的編碼能夠取得更好的主觀質量。本發明的方法可以廣泛地應用於遠程教育、網絡會議、遠程桌面連接等領域。
圖I是本發明流程示意圖。圖2是本發明系統框圖。圖3是實施例2系統示意圖。圖4是實施例2流程示意圖。
具體實施例方式下面對本發明的實施例作詳細說明,本實施例在以本發明技術方案為前提下進行實施,給出了詳細的實施方式和具體的操作過程,但本發明的保護範圍不限於下述的實施例。實施例I本實施例按照圖I方法進行實施,系統如圖2所示,包括屏幕信息採集模塊、場景分類模塊、碼率控制模塊、編碼模塊,其中屏幕信息採集模塊與場景分類模塊相連並傳輸變化區域信息,屏幕信息採集模塊與編碼模塊相連並傳輸屏幕圖像原始數據,場景分類模塊與碼率控制模塊相連並傳輸當前屏幕場景分類信息,碼率控制模塊與編碼模塊相連並傳輸碼率控制參數信息,編碼模塊輸出編碼壓縮後的數據。
所述的屏幕信息採集模塊包括屏幕RGB數據採集單元、變化區域採集單元、屏幕數據存儲器,其中屏幕RGB數據採集單元用於採集屏幕圖像中每個像素的原始RGB值;變化區域採集單元用於採集屏幕當前幀相較於前一幀的變化區域信息,其中變化區域指的是當前幀相較於前一幀圖像發生變化的部分;屏幕數據存儲器用於存儲採集下來的連續若干幀屏幕圖像原始RGB數據作為編碼模塊的輸入。所述的場景分類模塊包括相鄰幀變化評估單元、連續幀變化評估單元、評估結果存儲器,其中相鄰幀變化評估單元用於判斷當前幀是否是顯著變化幀並將評估結果存入評估結果存儲器,其中顯著變化幀指的是相較於前一幀的變化區域面積大於屏幕解析度的60%的屏幕幀圖像;評估結果存儲器用於保存連續若干幀的相鄰幀變化評估結果作為連續幀變化評估單元的輸入;連續幀變化評估單元用於根據包括當前幀在內的連續若干幀數據的相鄰幀變化評估結果對當前屏幕播放場景進行分類並將結果輸出給碼率控制模塊。所述的碼率控制模塊包括碼率控制選擇器、快速運動場景碼率控制器、慢速運動場景碼率控制器,其中碼率控制選擇器用於根據屏幕播放場景分類結果選擇碼率控制器;快速運動場景碼率控制器用於進行快速運動場景的碼率控制,根據人體視覺系統的特點,快速運動場景碼率控制器以犧牲圖像靜態質量為代價控制碼率;慢速運動場景碼率控制器用於進行慢速運動場景的碼率控制,根據人體視覺系統的特點,慢速運動場景碼率控制器以犧牲屏幕視頻的幀率為代價控制碼率。所述的編碼模塊包括顏色空間轉換單元和編碼器,其中顏色空間轉換單元用於將屏幕信息採集模塊採集的屏幕圖像原始數據進行顏色空間轉換並輸出符合編碼器輸入圖像格式要求的圖像;編碼器用於對符合輸入圖像格式要求的圖像進行編碼,同時對碼率控制模塊提供碼率控制參數傳入接口以控制壓縮後數據的碼率。實施例2如圖3所示,為本實施例在遠程教育領域中的一個實現方案。
本實施例的應用背景為一個低碼率環境下的實時直播系統,同時需要兼顧PC客戶端和手機客戶端的不同配置。具體採用的參數如下幀率為10幀每秒,峰值碼率設為262Kbps。本實施例所述的屏幕編碼方案主要包括如下步驟步驟一、Mirror Driver採集屏幕圖像和變化區域信息,即使用Windows作業系統的Mirror Driver機制採集屏幕圖像和變化區域信息並將屏幕原始RGB數據保留到屏幕數據存儲器中,其中所述的Mirror Driver指的是微軟提供的Windows作業系統下的鏡像驅動技術,在一個虛擬顯示設備中模擬所有在物理顯示設備中執行的操作,可以方便地獲得當前屏幕的各種數據。所述的變化區域信息指的是由Mirror Driver直接獲得的當前巾貞與前一幀相比較發生變化的像素組成的圖形區域的最小外接矩形所圍成的區域,由矩形坐標表不。步驟二、播放場景識別模塊對當前屏幕播放場景進行識別歸類,即播放場景識別模塊根據屏幕內容在一段時間內的變化劇烈程度對屏幕播放場景進行識別歸類,其中所述的屏幕播放場景分為兩種慢速運動場景和快速運動場景。具體為步驟2. I)根據單幀變化區域信息判斷當前幀與前一幀是否發生顯著變化當前幀相比上一幀圖像變化區域的面積大於屏幕解析度的60%,並將結果寫入存儲器中。
步驟2. 2)讀取存儲器中連續若干幀數據是否是顯著變化幀並以此判斷當前屏幕播放場景在編碼開始時將屏幕播放場景初始化為慢速運動場景,之後選取0. 5秒為識別參考時間,即參考連續五幀是否顯著變化進行播放場景識別分類,從存儲器中讀出當前幀前連續五幀(包括當前幀)的相鄰幀變化評估結果,若連續五幀都是顯著變化幀則判定當前的屏幕處於快速運動場景,若連續五幀都是非顯著變化幀則判定當前的屏幕處於慢速運動場景,其他情況則不改變當前屏幕播放場景。以多幀的數據為識別分類參考是為了避免將一些持續時間較短的大面積變化場景(如窗口最小化)錯誤識別為快速運動場景,造成屏幕播放場景在短時間內來回切換導致編碼後的視頻質量不穩定。步驟三、根據當前屏幕播放場景選擇合適的碼率控制方案,即當屏幕播放場景被識別為慢速運動場景時,選用x264編碼器中實現的固定量化參數方案(CQP)的改進方案自適應調節幀率的固定量化參數方案(FRA-CQP)方案;而當屏幕播放場景被識別為快速運動場景時,選用固定質量因子和視頻緩衝驗證混合模式(CRF+VBV)方案。在慢速運動場景中, 人對於計算機的操作通常比較緩慢且常常有長時間的停頓,所以視頻的清晰度往往比流暢性更加重要。FRA-CQP模式的核心思想是以降低幀率為代價來保證碼率控制的目標和每一幀數據的清晰度。該模式中x264編碼器開啟多分片(multi-slice)選項,將一幀的數據編碼為一系列切片並且將這些切片按順序劃分為切片組,最後以切片組為單位進行輸出,並且將每秒鐘的編碼機會數設為系統幀率,即每秒10個編碼機會。具體的編碼流程圖如圖4所示,在開始一次新的編碼機會時,首先將編碼剩餘預算i_budget_left初始化為編碼預算1_808_1311(^的,然後檢查上一幀的數據是否已經完全輸出,若已經完全輸出則開始進行新一幀數據的編碼,將當前幀編碼為一系列的切片,接下來依據編碼剩餘預算將這些切片劃分為切片組,劃分的方法如下一個切片組包含儘可能多的有序切片且切片組大小必須控制在預算之內,然後輸出第一個分片組。如果上一幀的數據還有部分分片組尚未輸出,則編碼器暫時不對新一幀的數據進行編碼,而是根據先前的劃分的結果輸出上一幀的一個分片組,直到上一幀的數據被完全輸出後,編碼器再檢查當前的碼率預算是否滿足開始新一幀數據的編碼的要求,如滿足則開始新一幀數據的編碼,否則結束當前編碼機會。在快速運動場景中,CRF+VBV混合方案在保證視頻質量基本穩定的基礎上考慮緩衝區的充盈度通過調整量化參數來進行碼率控制,碼率不高於峰值碼率並且劇烈運動的屏幕能夠流暢播放。步驟四、改進的x264編碼器根據選用的碼率控制方案對屏幕圖像進行編碼,即使用添加碼率控制參數傳入接口的x264編碼器對經過顏色空間轉換的屏幕圖像進行編碼,其中所述的x264編碼器指的是基於通用視頻編碼標準H. 264的一款經典的開源編碼器,具有很高的編碼效率。所述的顏色空間轉換用於將屏幕數據存儲器中保存的RGB格式的原始屏幕數據轉為符合x264編碼器輸入要求的YUV420格式。步驟五、廣播模塊將編碼壓縮後的數據進行廣播,即廣播模塊對編碼壓縮後的數據附上時間戳並且根據需要插入空幀最後將處理好的數據進行廣播,其中所述的插入空幀的操作的目的是使最終生成的碼流的幀率固定以保證其通用性,即能夠在安裝有札264codec的播放器中播放。將本發明與CRF+VBV,ABR+VBV和基於現有技術CN200910054923. 4實現的編碼方法SJSC進行比較,其中,ABR設置平均碼率bitrate = 262Kbps,CRF設置質量因子f_rf_constant = 26, FRA-CQP 中設置量化參數QP = 32, VBV設置峰值碼率 i_vbv_max_bitrate =262Kbps,其他編碼參數採用預設值。實驗證明,本發明將生成碼流的碼率有效控制在峰值碼率之下的基礎上,在對屏幕圖形界面操作場景的編碼中,本發明相對CRF+VBV和ABR+VBV能夠取得3-8dB的PSNR增益,得到與SJSC類似的靜態圖像質量;而在對屏幕視頻播放場景的編碼中,本發明的平均幀率比SJSC高4-7幀每秒,激烈 運動的屏幕能夠流暢播放。
權利要求
1.一種場景自適應的屏幕編碼碼率控制方法,其特徵在於,通過檢測屏幕信息的變化劇烈程度並分類後,針對分類得到的不同運動場景調用對應的碼率控制方案得以實現; 所述的屏幕信息是指屏幕所顯示的若干幀; 所述的變化劇烈程度是指依次進行相鄰幀變化評估以及連續幀變化評估; 所述的分類是指根據屏幕內容的變化劇烈程度通過相鄰幀變化評估以及連續幀變化評估區分為慢速運動場景和快速運動場景。
2.根據權利要求I所述的方法,其特徵是,所述的相鄰幀變化評估是指根據當前幀相比上一幀圖像發生變化的部分的面積是否大於屏幕解析度的60%判斷當前幀是否是顯著變化幀。
3.根據權利要求I所述的方法,其特徵是,所述的連續幀變化評估是指根據包含當前幀在內的連續若干幀的相鄰幀變化評估結果,即是否是顯著變化幀判斷當前屏幕播放場景
4.根據權利要求I或3所述的方法,其特徵是,所述的連續幀變化評估為 初始默認屏幕播放場景為慢速運動場景,然後參考連續若干幀是否顯著變化進行播放場景識別的如下分類 a)當連續若干幀都是顯著變化幀則判定當前的屏幕處於快速運動場景; b)當連續若干幀都是非顯著變化幀則判定當前的屏幕處於慢速運動場景; c)其他情況不改變當前屏幕播放場景。
5.根據權利要求3所述的方法,其特徵是,所述的包含當前幀在內的連續若干幀是指當前幀的前若干幀和/或者當前幀的後若干幀。
6.根據權利要求I或3或5所述的方法,其特徵是,所述的若干幀的幀數的計算公式為幀數=[預設參考時間X幀率],其中參考時間為0. 1-2秒,幀率為10-30幀/秒。
7.根據權利要求I所述的方法,其特徵是,調用對應的碼率為 針對慢速運動場景,根據碼率的上限調整輸出碼流的幀率來控制碼率; 針對快速運動場景,根據碼率的上限調整編碼量化參數來控制碼率; 所述的碼率的上限是指單位時間內能夠傳輸的數據量的上限。
8.—種場景自適應的屏幕編碼碼率控制系統,其特徵在於,包括屏幕信息採集模塊、場景分類模塊、碼率控制模塊和編碼模塊,其中屏幕信息採集模塊與場景分類模塊相連並傳輸變化區域信息,屏幕信息採集模塊與編碼模塊相連並傳輸屏幕圖像原始數據,場景分類模塊與碼率控制模塊相連並傳輸當前屏幕場景分類信息,碼率控制模塊與編碼模塊相連並傳輸碼率控制參數信息,編碼模塊輸出編碼壓縮後的數據。
9.根據權利要求8所述的系統,其特徵是,所述的屏幕信息採集模塊包括屏幕RGB數據採集單元、變化區域採集單元和屏幕數據存儲器,其中屏幕RGB數據採集單元用於採集屏幕圖像中每個像素的原始RGB值;變化區域採集單元用於採集屏幕當前幀相較於前一幀的變化區域信息,其中變化區域指的是當前幀相較於前一幀圖像發生變化的部分;屏幕數據存儲器用於存儲採集下來的連續若干幀屏幕圖像原始RGB數據作為編碼模塊的輸入。
10.根據權利要求8所述的系統,其特徵是,所述的場景分類模塊包括相鄰幀變化評估單元、連續幀變化評估單元、評估結果存儲器,其中相鄰幀變化評估單元用於判斷當前幀是否是顯著變化幀並將評估結果存入評估結果存儲器,其中顯著變化幀指的是相較於前一幀的變化區域面積大於屏幕解析度的60%的屏幕幀圖像;評估結果存儲器用於保連續若干幀的相鄰幀變化評估結果作為連續幀變化評估單元的輸入;連續幀變化評估單元用於根據包括當前幀在內的連續若干幀數據的相鄰幀變化評估結果對當前屏幕播放場景進行分類並將結果輸出給碼率控制模塊。
11.根據權利要求8所述的系統,其特徵是,所述的碼率控制模塊包括碼率控制選擇器、快速運動場景碼率控制器、慢速運動場景碼率控制器,其中碼率控制選擇器用於根據屏幕播放場景分類結果選擇碼率控制器;快速運動場景碼率控制器用於進行快速運動場景的碼率控制,根據人體視覺系統的特點,快速運動場景碼率控制器以犧牲圖像靜態質量為代價控制碼率;慢速運動場景碼率控制器用於進行慢速運動場景的碼率控制,根據人體視覺系統的特點,慢速運動場景碼率控制器以犧牲屏幕視頻的幀率為代價控制碼率。
12.根據權利要求8所述的系統,其特徵是,所述的編碼模塊包括:顏色空間轉換單元和編碼器,其中顏色空間轉換單元用於將屏幕信息採集模塊採集的屏幕圖像原始數據進行顏色空間轉換並輸出符合編碼器輸入圖像格式要求的圖像;編碼器用於對符合輸入圖像格式要求的圖像進行編碼,同時對碼率控制模塊提供碼率控制參數傳入接口以控制壓縮後數據的碼率。
全文摘要
一種視頻圖像處理領域的場景自適應的屏幕編碼碼率控制方法及其系統,該方法通過檢測屏幕信息的變化劇烈程度並分類後,針對分類得到的不同運動場景調用對應的碼率控制方案得以實現;本發明在有效控制峰值碼率的基礎上,能夠保障對屏幕圖形界面操作場景編碼的清晰度和對屏幕視頻播放場景編碼的流暢度。
文檔編號H04N7/26GK102625106SQ20121008596
公開日2012年8月1日 申請日期2012年3月28日 優先權日2012年3月28日
發明者林藝, 申瑞民, 謝偉凱 申請人:上海交通大學