專利名稱:一種用于移動設備視頻通信中、保持圖像穩定傳輸的方法
技術領域:
本發明涉及基于互聯網的數字視頻數據傳輸領域,特別涉及一種用于移動設備視頻通信中、保持圖像穩定傳輸的方法。
背景技術:
隨著網絡和多媒體技術的飛速發展,以及視頻采集設備等各項技術的進步,簡單的語音或者文字交流顯然已經無法滿足人們日常的溝通需求。高清晰的實時視頻,將會迅速得以普及,成為未來人與人之間溝通的重要渠道。由于視頻數據量較大,又需要借助網絡進行數據信號的傳輸。而在兩端用戶進行視訊通話的過程中,往往由于人為或者非人為的因素干擾,導致現場視頻信號的傳輸無法得到保證。目前市面上的編碼端設備大多采用動態碼率的方式,對客戶端用戶的畫面進行采集、編碼和傳輸。由于在視頻通話過程中的抖動現象頻頻發生(如記者在指定現場進行采訪時發生的顛簸、客戶端用戶通過使用手機或者平板電腦進行視頻聊天,而造成設備采集的視頻畫面穩定性差;以及客戶端用戶距離攝像頭位置較近,在視頻通話過程中的快速移動、劇烈晃動等),網絡帶寬都會隨著客戶端的影響而瞬間增大,導致網絡傳輸的擁塞現象發生;同時也會造成另一端用戶接收畫面不流暢或者圖像馬賽克等異常現象,影響了用戶對于系統良好的體驗性。因此,如何讓用戶在視頻環境、拍攝條件均受限的環境下,保證視頻傳輸畫面的完整性、穩定性,則為本方法的發明宗旨。
發明內容
有鑒于此,本發明提供一種用于移動設備視頻通信中、保持圖像穩定傳輸的方法。 目的在于,當客戶端用戶在拍攝條件、視頻環境均受限的環境下,如使用手持設備(手機、平板電腦)進行視訊通話、或者記者在指定現場進行直播報道的過程中,由于人為或者非人為的因素導致抖動現象發生,而造成視頻信號的傳輸問題,保證圖像穩定傳輸的技術方法實現。在實際網絡環境下測試,使用本發明描述的方法,相比未使用本發明的情況,視頻質量及用戶體驗性均得到大幅度的提升。為實現上述發明目的,本發明采用技術方案如下
客戶端系統通過預置相關網絡檢測參數,在客戶端用戶進行視訊通話的過程中,客戶端系統負責實時檢測當前本地網絡傳輸狀況;
客戶端系統檢測本地網絡傳輸狀況滿足預定條件(即接近網絡帶寬瓶頸、發生網絡異常現象時),進行網絡異常機制處理;
網絡異常機制包括客戶端系統負責動態調整與編碼端相關的參數設置,如將幀率調小、保留本地視頻信號關鍵幀的處理機制,以及向接收端發送拋棄視頻信令的任務處理。所述客戶端系統包括但不限于用戶本地PC機、PAD、網絡電視機、手機等顯示終端設備;通過安裝客戶端應用軟件,可實現自動檢測本地網絡傳輸狀況、網絡異常處理機制、 本地音視頻信號的編碼、壓縮、發送等處理,以及接收、解碼、播放流媒體數據等任務操作。所述網絡檢測參數為客戶端系統進行自動檢測時,判斷和計算當前網絡狀況是否異常的參考值。系統均提供默認經驗值,用戶也可在客戶端系統的應用頁面中根據本地環境進行自定義的設置,包括
預設閥值該值的設定用于判斷當前網絡傳輸狀態,是否發生網絡異常的依據。在本方法中,該值可用于判斷當前本地網絡傳送的比特率是否過高,傳輸數據是否接近網絡帶寬瓶頸,而引發網絡異常現象的發生;
臨界值該值用于記錄當前網絡發生異常現象的臨界數。系統可根據該值、預設閥值和預設告警值的計算,判斷出當前網絡抖動屬于正常/異常現象。該值初始為0,當指定條件(如當前比特率)大于等于預設閥值時,該值自增加1 ;當指定條件(如當前比特率)小于預設閥值時,該值重置為初始值狀態;
預設告警值該值是為了防止由于網絡的正常抖動現象,而導致系統告警處理所設定的值。用戶可根據本地環境的實際情況進行設置,可設為1次,也可設為η次;當預設告警值的設置大于1時,不會出現臨界值 >=預設告警值,就立即向系統發出告警處理,防止由于網絡的正常抖動帶來的影響;當臨界值等于預設告警值時,系統開始進行網絡異常的處理。在客戶端用戶進行視訊通話的過程中,客戶端系統負責自動檢測當前本地網絡傳輸狀況;系統會實時獲取當前傳送的視頻信號比特率,并與上述網絡檢測參數進行精確的計算,用于判定當前數據傳輸是否已經接近網絡帶寬瓶頸或滿足系統設置的預定條件。如果當前網絡傳輸狀況已經滿足系統設置的預定條件(數據傳輸已經接近網絡帶寬瓶頸),客戶端系統會立即進行網絡異常的處理,以保證接收端用戶收看畫面的完整性。其中,網絡異常處理機制包括
降低視頻傳輸幀數或者調小視頻窗口,用于減少客戶端系統發送的數據量; 關鍵幀(I幀)優先機制,調整幀循環隊列中P幀、B幀的數量;眾所周知,關鍵幀(I幀) 是一個視頻的基準,是含有形成一幀的必要信息。而其他的幀是在關鍵幀上的疊加,因而可以認為,數據包中只要包含關鍵幀,接收端基本上就可以收看到另一端用戶較完整的圖像了。關鍵幀優先機制就是利用了這個道理,它保證在帶寬很小的情況下,只傳關鍵幀或者減少其它幀的數量。這樣就可以保證即使網絡條件很差也可以看到對方視頻,只不過圖像降幀,會有停頓,但是收看到的卻是完整的畫面。向接收端發送拋棄視頻信令的任務處理機制,由于網絡帶寬會隨著客戶端的影響而逐漸增大,這就會導致網絡傳輸過程中的丟包、延遲等現象頻頻發生,造成接收端用戶收看的畫面出現馬賽克、花屏等現象。為了盡可能地避免接收端用戶收看到馬賽克、花屏的畫面,客戶端系統會實時地檢測當前網絡傳輸狀況,一旦發現當前網絡傳輸帶寬已經滿足系統設置的預定條件,客戶端系統會立即向接收端發送視頻信號的拋棄信令,接收端通過接收、解析該信令,會將當前系統緩沖區中未發送、未播放的數據信號做拋棄處理。采用本發明所述方法,可保證客戶端用戶使用手持設備進行視頻通話的過程中, 如發生抖動現象時,系統可根據實時監測本地網絡傳輸狀況,動態地調整傳輸速率、降低丟包率、智能地選擇傳輸較為重要的視頻畫面,避免接收端用戶收看到圖像馬賽克的現象,提升網絡的利用率及用戶對于系統的良好體驗性。
圖1是本發明實現方法第一實施例的流程示意圖。
具體實施例方式下面結合實施例及附圖,對本發明作進一步地詳細說明,但本發明的實施方式不限于此。
實施例為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。圖1是本發明實現方法第一實施例的流程示意圖,詳述如下
S100,客戶端用戶首先需要在本地終端上安裝該客戶端應用軟件,其中該客戶端應用軟件可支持基于PC、PAD、手機等多個終端平臺下的安裝版本,用戶可通過訪問該系統平臺下載對應終端版本的客戶端軟件。S101,用戶運行客戶端軟件,與系統平臺建立通信連接,之后進行一系列的有效身份驗證后,系統平臺默認會為該用戶創建一個唯一的、只屬于該用戶的網絡視頻聊天室,該用戶被默認指定為該聊天室中的主持人或者管理員;該用戶可通過應用頁面中提供的搜索、撥號等功能邀請指定用戶加入該視頻聊天室。S102,所述客戶端用戶選擇邀請一個或者多個客戶端用戶加入該聊天室;客戶端之間的數據通道建立完成后,客戶端系統會自動啟動網絡傳輸檢測功能,該功能負責實時監控當前本地客戶端所在網絡的傳輸、帶寬占用等狀況,進行精確地計算與分析。客戶端系統負責實時采集本地用戶的音視頻信號,同時對其進行指定格式的編碼處理。其中,本地語音、視頻的編碼方式可采用當前市面上任何一種可用的、被廣泛接受的音視頻編碼方式進行音視頻信號的編碼、壓縮處理,生成符合IP協議的數據包,通過互聯網實時傳輸至指定接收端。其中,數據包的傳送基于實時流協議(RTSP,Real Time Streaming Protocol) / 實時傳輸協議(RTP,Real Time Transport Protocol) / RTP控制協議(RTCP,RTP Control Protocol)協議簇來控制/傳輸流媒體數據;RTSP文本協議(HTTP,Hypertext Transfer Protocol)類似超文本傳輸協議,利用獨立傳輸協議,用于建立和控制連續媒體的時間同步流。接收端通過網絡實時接收流媒體數據信號,并進行相應地解包、解碼等處理,還原成現場畫面,輸出對方客戶端用戶的現場畫面。S103,客戶端用戶進行視頻通話過程中,客戶端系統負責監聽和檢測當前客戶端所在網絡環境的信號傳輸和帶寬占用等狀況。系統實時獲取當前傳送的視頻信號比特率,自動與用戶之前所設置的網絡檢測參數(即預定條件)進行分析計算,用于判定當前數據傳輸是否已經接近網絡帶寬瓶頸。
比如,用戶設定預設閥值為200 (單位為Kbps),預設告警值達到50次時,系統開始進行網絡異常的處理,計算公式為
1.系統獲得當前傳送的視頻信號比特率,如果視頻信號比特率>=預設閥值(200), 臨界值=臨界值+ 1 ;
或者
如果視頻信號比特率 < 預設閥值(200),臨界值=0;
2.如果臨界值>=預設告警值(50),系統進行網絡異常的處理。關鍵幀(I幀)優先機制通知編碼端保留I幀、減少P幀、B幀循環隊列中的編碼或傳輸數量,同時控制碼率大小,用來緩解網絡擁塞現象的發生。直到系統檢測臨界值 < 預設告警值,系統通知編碼端,恢復視頻信號的P幀、B幀編碼、傳輸處理。向接收端發送拋棄信令的處理機制客戶端系統通過檢測當前網絡傳輸狀況發生異常,隨即通知編碼端降低視頻傳輸幀數,如進行關鍵幀(I幀)優先等處理;同時客戶端向接收端發送視頻信號的拋棄信令,信令中標識當前網絡傳輸異常等信息。接收端通過網絡接收客戶端發送的信令,并進行信令的解析工作,當解析接收的信令為拋棄視頻信令時,接收端將當前系統緩沖區中未發送、未播放的視頻信號做清除、拋棄處理。本發明對本領域的技術人員顯而易見的是,在不偏離本發明的精神和原則范圍內,本發明還可以做各種修改和變更,本發明覆蓋在所附權利要求范圍內的本發明的所有修改和變更。
權利要求
1.一種用于移動設備視頻通信中、保持圖像穩定傳輸的方法,其特征在于,包括客戶端系統通過預置相關網絡檢測參數,在客戶端用戶進行視訊通話的過程中,客戶端系統負責實時檢測當前本地網絡傳輸狀況;客戶端系統檢測本地網絡傳輸狀況滿足預定條件(即接近網絡帶寬瓶頸、發生網絡異常現象時),進行網絡異常機制處理;網絡異常機制包括客戶端系統負責動態調整與編碼端相關的參數設置,如將幀率調小、保留本地視頻信號關鍵幀的處理機制,以及向接收端發送拋棄視頻信令的任務處理。
2.根據權利要求1所述的方法,其特征在于,所述客戶端系統包括但不限于用戶本地 PC機、PAD、網絡電視機、手機等顯示終端設備;通過安裝客戶端應用軟件,可實現自動檢測本地網絡傳輸狀況、網絡異常處理機制、本地音視頻信號的編碼、壓縮、發送等處理,以及接收、解碼、播放流媒體數據等任務操作。
3.根據權利要求1所述的方法,其特征在于,所述網絡檢測參數為客戶端系統進行自動檢測時,判斷和計算當前網絡狀況是否異常的參考值;系統均提供默認經驗值,用戶也可在客戶端系統的應用頁面中根據本地環境進行自定義的設置,包括預設閥值該值的設定用于判斷當前網絡傳輸狀態,是否發生網絡異常的依據;在本方法中,該值可用于判斷當前本地網絡傳送的比特率是否過高,傳輸數據是否接近網絡帶寬瓶頸,而引發網絡異常現象的發生;臨界值該值用于記錄當前網絡發生異常現象的臨界數;系統可根據該值、預設閥值和預設告警值的計算,判斷出當前網絡抖動屬于正常/異常現象;該值初始為0,當指定條件(如當前比特率)大于等于預設閥值時,該值自增加1 ;當指定條件(如當前比特率)小于預設閥值時,該值重置為初始值狀態;預設告警值該值是為了防止由于網絡的正常抖動現象,而導致系統告警處理所設定的值;用戶可根據本地環境的實際情況進行設置,可設為1次,也可設為η次;當預設告警值的設置大于1時,不會出現臨界值 >=預設告警值,就立即向系統發出告警處理,防止由于網絡的正常抖動帶來的影響;當臨界值等于預設告警值時,系統開始進行網絡異常的處理。
4.根據權利要求1所述的方法,其特征在于,所述客戶端用戶進行視訊通話的過程中,客戶端系統負責自動檢測當前本地網絡傳輸狀況;系統會實時獲取當前傳送的視頻信號比特率,并與上述網絡檢測參數進行精確的計算,用于判定當前數據傳輸是否已經接近網絡帶寬瓶頸或滿足系統設置的預定條件。
5.根據權利要求4所述的方法,其特征在于,如果當前網絡傳輸狀況已經滿足系統設置的預定條件(數據傳輸已經接近網絡帶寬瓶頸),客戶端系統會立即進行網絡異常的處理,以保證接收端用戶收看畫面的完整性。
6.根據權利要求1或5所述的方法,其特征在于,所述網絡異常處理機制包括降低視頻傳輸幀數或者調小視頻窗口,用于減少客戶端系統發送的數據量;關鍵幀(I幀)優先機制,調整幀循環隊列中P幀、B幀的數量;向接收端發送拋棄視頻信令的任務處理機制。
全文摘要
本方法公開了一種用于移動設備視頻通信中、保持圖像穩定傳輸的方法,目的在于,當客戶端用戶在拍攝條件、視頻環境均受限的環境下,如使用手持設備(手機、平板電腦)進行視訊通話、或者記者在指定現場進行直播報道的過程中,由于人為或者非人為的因素導致抖動現象發生,而造成視頻信號的傳輸問題,保證圖像穩定傳輸的技術方法實現。在實際網絡環境下測試,使用本發明描述的方法,相比未使用本發明的情況,視頻質量及用戶體驗性均得到大幅度的提升。
文檔編號H04N7/14GK102348095SQ20111027045
公開日2012年2月8日 申請日期2011年9月14日 優先權日2011年9月14日
發明者不公告發明人 申請人:劉芳榮, 宋健