本發明涉及視頻處理領域,具體涉及一種提高圖像流暢度的方法及系統。
背景技術:
現有技術中,編碼器發送過來的遠程業務系統的圖像數據,是由軟件通過CPU解碼并控制GPU渲染輸出到顯示器顯示的。目前較為主流的方法都是使用雙線程技術,一個線程用來緩沖存儲編碼數據,另一個線程用來讀取數據并解碼顯示。如申請號為2015107795536的中國發明專利公開的那樣,但是這種方法存在以下問題:在CPU性能較低時,由于圖像解碼較慢和顯示時間不均勻,導致編碼器發送隊列溢出而引起網絡丟包,使得圖像出現花屏、延時加深及流暢度降低等問題。
技術實現要素:
本發明的目的是解決現有技術的缺陷,提供一種提高圖像流暢度的方法,采用的技術方案如下:
一種提高圖像流暢度的方法,包括檢測當前的圖像數據發送幀率,根據當前圖像數據發送幀率動態調節雙線程中的數據存儲及讀取速率。
本發明的另一目的是解決現有技術的缺陷,提供一種提高圖像流暢度的系統,采用的技術方案如下:
一種提高圖像流暢度的系統,包括接收緩沖模塊和處理模塊;
所述接收緩沖模塊用于接收存儲圖像數據,并檢測圖像數據的發送幀率,其存儲速率根據圖像的發送幀率調節;
所述處理模塊用于讀取圖像數據并進行處理,其讀取速率根據所述圖像數據的發送幀率調節。
與現有技術相比,本發明的有益效果:
利用雙線程技術,線程a用于網絡數據接收存儲。線程b用于圖像解碼顯示。當CPU性能較低時,只會導致線程b圖像解碼較慢,但是對線程a的網絡接收影響較小,不會引起網絡丟包情況的發生。同時本發明檢測當前圖像數據發送幀率,根據圖像數據發送幀率動態調節雙線程中數據存儲及讀取速率,能夠提升畫面顯示的流暢度、降低延時,有效地解決了圖像花屏、延時加深及流暢度降低的問題,增強了系統的穩定性和兼容性。
附圖說明
圖1是本發明實施例1的方法流程圖;
圖2是本發明實施例2的系統結構示意圖。
具體實施方式
下面結合附圖和實施例對本發明做進一步詳細描述。
實施例1:
一種提高圖像流暢度的方法,包括檢測當前的圖像數據發送幀率,根據當前圖像數據發送幀率動態調節雙線程中的數據存儲及讀取速率。
具體地,本實施例包括以下步驟:
通過預先創建的線程a接收圖像數據,并在線程a中檢測圖像數據的發送幀率,根據所述發送幀率設置數據存儲速率;
按設置的存儲速率將接收到的圖像數據存儲到循環隊列中;
根據所述發送幀率設置預先創建的用于對讀取圖像數據并進行處理的線程b的讀取速率;
從所述循環隊列中讀取出圖像數據,處理后進行顯示。
其中,所述圖像數據可以是編碼器通過網絡發送來的遠端業務系統的圖像數據,也可以是通過其他形式發送來的圖像數據。所述處理模塊對圖像數據的處理包括解碼、渲染。
實施例2:
一種提高圖像流暢度的系統,包括接收緩沖模塊和處理模塊;
所述接收緩沖模塊用于接收存儲圖像數據,并檢測圖像數據的發送幀率,其存儲速率根據圖像的發送幀率調節;
所述處理模塊用于讀取圖像數據并進行處理,其讀取速率根據所述圖像數據的發送幀率調節。
具體地,本實施例的一種提高圖像流暢度的系統具體包括網絡接收模塊、循環隊列模塊、處理模塊和顯示模塊,所述網絡接收模塊用于接收圖像數據并檢測圖像數據的發送幀率,所述循環隊列模塊用于存儲圖像數據,其存儲速率根據所述發送幀率調節,所述處理模塊用于從循環隊列模塊中讀取圖像數據進行處理并交由顯示模塊顯示,其讀取根據所述發送幀率調節。
其中,所述圖像數據可以是編碼器通過網絡發送來的遠端業務系統的圖像數據,也可以是通過其他形式發送來的圖像數據。所述處理模塊對圖像數據的處理包括解碼、渲染。