調節視頻質量的方法、系統及終端的製作方法
2023-09-20 18:44:30 1
專利名稱::調節視頻質量的方法、系統及終端的製作方法
技術領域:
:本發明涉及視頻通信領域,特別是涉及調節視頻質量的方法、系統及終端。
背景技術:
:隨著網際網路的迅猛發展以及多媒體技術的日益成熟,視頻通信的市場應用越來越廣泛,實現視頻通信的方式也變得多種多樣,如可視電話、即時通信、視頻聊天、IPTV、遠程監控,以及遠程醫療等。視頻通信發展的廣闊前景使其成為繼話音通信之後又一重要的通信形式。視頻通信一般是在專用的或公用通信網絡上,點對點或點對多點來傳送視頻數據,從用戶期望更廣泛的交流和更低的成本的角度來看,公用網絡將是用戶的首選。而同時由於視頻通信對實時性和交互性的要求,承載視頻通信的網絡必須能夠保證視頻的流暢性和質量。近幾年來,通信網絡的IP化成為網絡發展的主流,基於IP網絡的視頻通信得到普遍應用和廣泛發展。IP網絡是使用TCP/IP協議的面向無連接的網絡,H.323標準是ITU-T在1996年制定的應用於IP網絡的視頻通信標準,它是目前擁有大量商業用戶的視頻通信標準,得到了普遍的i人可和廣泛的應用。承載視頻通信的IP網絡首先要面對的是帶寬問題,以視頻聊天為例,根據經驗數值,使用流行的H,263編碼標準,要保證可接受的質量和流暢度,需要網絡帶寬為128~256kbit/s。由於是交互式通信,加上網絡傳送的負荷,一個實際的點對點的一見頻通話,可能要佔據此帶寬的2.5倍(320~640kbit/s)。因此,視頻通信需要消耗大量的網絡帶寬,要在各種網絡下(如網際網路、區域網)保障質量參數QoS,就需要通過視頻質量調節來進行帶寬控制。其次,視頻通信對時延和抖動很敏感,因此視頻傳輸一般都採用實時性高的用戶數據包協議UDP協議。但由於UDP協議沒有任何擁塞控制算法,因此容易造成網絡過載和高丟包率,從而影響視頻的傳輸質量。因此視頻通信還需要RTP/RTCP協議的支持,RTP與RTCP結合可以為網絡提供流量控制和擁塞控制。在RTP會話期間,各參與者周期性地傳送RTCP包。RTCP包中含有已發送的數據包的數量、丟失的數據包的數量等統計資料,這些信息是判斷網絡狀況以進行動態視頻質量調節的主要依據。目前視頻傳輸的質量控制一般有以下幾種方案1、最小傳輸的視頻編碼。即按照最低可接受的帶寬由編碼器產生視頻碼流進行傳輸。2、轉碼技術。即在伺服器中保存一份質量足夠好的壓縮視頻數據,當需要降低輸出碼率時,伺服器只需進行部分的解碼和編碼就可以輸出合適的視頻數據流。3、碼流切換技術。伺服器中保存同一個視頻節目的不同質量的多個拷貝,這些碼流的I幀是對齊的,伺服器才艮據用戶網絡帶寬情況選擇一個適當的碼流發送給用戶。4、自適應視頻編碼。即根據網絡環境的變化來自動調整編碼器的參數,使得輸出碼流的碼率適應網絡變化的編碼方法。一般的做法是發送方將壓縮數據流劃分成RTP協議包發送給接收方,接收方監測RTP數據包的傳輸時延和丟包率,通過RTP協議中的RTCP協議將網絡傳輸情況反饋給發送方,發送方根據網絡帶寬情況調整數據發送碼率使之與網絡環境相匹配。現有技術1所述的最小傳輸的視頻編碼方案,其主要缺點是視頻傳輸缺少適應網絡動態變化的靈活性;現有技術2和3所述的轉碼技術和碼流切換技術,其為了增加靈活性而大大提高了伺服器的存儲成本;現有技術4所述的自適應視頻編碼方案是較為靈活的一種方案,但其需要估計當前的網絡帶寬值,並據此調整數據發送碼率,當估計不準時視頻傳輸的質量將受到影響。
發明內容本發明提供調節視頻質量的方法、系統及終端,用以解決現有技術需要估計當前的網絡帶寬值,當估計不準時視頻傳輸質量將受到影響的問題。本發明方法包括下列步驟從預設的編碼級別表中提取默認級別表項,並以該表項中的參數建立視頻連接;以及收發實時傳輸控制協議RTCP包,以判斷網絡狀況,並根據判斷結果相應調整當前編碼級別表項。其中,所述編碼級別表中的每一級別表項包括下列參數關鍵幀I幀間隔、質量優先或速度優先、質量優先情況下的帶寬、質量優先情況下的幀率、速度優先情況下的帶寬、速度優先情況下的幀率、視頻窗口橫向縮放比例,以及視頻窗口縱向縮放比例。其中,接收方以預設的閥值與收到的RTCP包中的相關信息比較,以判斷網絡狀況,並才艮據判斷結果相應調整當前編碼級別表項。進一步,接收方收到的RTCP包中含有的丟包率、網絡抖動和延遲時間同時小於相應的閥值時,判定網絡狀況良好,並調高所用的編碼級別表項;否則,判定網絡狀況不好,並調低所用的編碼級別表項。綜上所述,以收發雙方的終端能力中較低的終端能力確定最高視頻幀率,並以該最高視頻幀率為限,相應確定編碼級別表中可用的級別表項。所述終端能力包括該終端的CPU,該終端的一級高速緩衝存儲器Cache的大小,以及該終端的二級Cache的大小。綜上所述,以自適應的時間間隔收發RTCP包。所述自適應的時間間隔通過以下公式計算發送RTCP包的時間間隔=(視頻已建立的時間)x(EXP(I幀間隔時間/125)-1)。本發明的發送方終端,包括編碼單元,用於根據輸入的參數,將視頻流編碼,並向接收方終端發送;RTCP包發送單元,用於向接收方終端發送RTCP包;編碼級別表存儲單元,用於預i殳編石馬級別表;級別表項提取單元,用於根據收到的網絡狀況判斷結果,從所述編碼級別表存儲單元存儲的編碼級別表中提取相應的級別表項,並將提取的級別表項中的參數輸出到編碼單元。進一步,所述終端還包括第一終端能力獲取單元,用於獲取本端的終端能力;最高視頻幀率確定單元,用於以本端的終端能力和接收方終端發來的終端能力中較低的終端能力確定最高視頻幀率,並以該最高視頻幀率與所述編碼級別表存儲單元交互,相應確定編碼級別表中可用的級別表項。進一步,所述終端還包括自適應單元,用於以自適應的時間間隔控制所述RTCP包發送單元發送RTCP包。本發明的接收方終端,包括解碼單元,用於將收到的視頻碼流解碼;RTCP包接收單元,用於接收RTCP包,並根據RTCP包中的信息判斷網絡狀況,以及將判斷結果反饋給發送方終端;第二終端能力獲取單元,用於獲取本端的終端能力,並向發送方終端發送。本發明系統,包括接收方終端,用於對接收到的視頻碼流解碼,以及根據收到的RTCP包中的信息判斷網絡狀況,並將判斷結果反饋給發送方終端;發送方終端,用於發送編碼後的視頻碼流及RTCP包,以及根據接收方終端反饋的網絡狀況判斷結果,從預設的編碼級別表中提取相應的級別表項,並以該級別表項中的參數進行編碼。本發明有益效果如下本發明方法在發送方獲知當前網絡狀況後,無須估計當前的網絡帶寬值,而是以預設的編碼級別表結合當前網絡狀況相應調整所用的編碼級別表項;即當前網絡狀況不好,則調低所用的編碼級別表項;當前網絡狀況良好,則調高所用的編碼級別表項。從而按照預設的編碼級別表,總能使得視頻質量與當前網絡狀況相適應,在網絡狀況良好時,提供高質量且流暢的視頻,而在網絡狀況較差時,保障基本的視頻體驗,找到質量與流暢度之間的平衡。進一步,本發明方法還考慮了收發雙方的終端能力對視頻質量和流暢度的影響。本發明方法以收發雙方的終端能力中較低的終端能力確定最高視頻幀率,並以該最高視頻幀率為限,相應確定編碼級別表中可用的級別表項。進一步,本發明方法還考慮了收發RTCP包對網絡負載的影響。本發明方法以自適應的時間間隔收發RTCP包。為了支撐本發明方法,本發明還提供了發送方終端、接收方終端和相應的系統。圖1為本發明系統結構示意圖;圖2為本發明發送方終端結構示意圖;圖3為本發明接收方終端結構示意圖;圖4為本發明方法步驟流程圖。具體實施例方式為了在進行視頻質量調節時,無須估計當前的網絡帶寬值,從而避免當估計不準時,視頻傳輸質量將受到影響的問題,本發明提供了一種調節視頻質量的系統,參見圖1所示,其包括發送方終端1和接收方終端2。所述發送方終端l,用於發送編碼後的視頻碼流及RTCP包,以及根據接收方終端2反饋的網絡狀況判斷結果,從預設的編碼級別表中提取相應的級別表項,並以該級別表項中的參數進行編碼。所述接收方終端2,用於對接收到的視頻碼流解碼,以及根據收到的RTCP包中的信息判斷網絡狀況,並將判斷結果反饋給發送方終端1。參見圖2所示,上述系統中的發送方終端1(即本發明的發送方終端)中包括RTCP包發送單元ll、級別表項提取單元12,以及與級別表項提取單元12相連的編碼級別表存儲單元13和編碼單元14;進一步,為了顧及收發雙方的終端能力對視頻質量和流暢度的影響,所述發送方終端還包括相互連接的第一終端能力獲取單元15和最高視頻幀率確定單元16,所述最高視頻幀率確定單元16還與編碼級別表存儲單元13相連;進一步,為了減少收發RTCP包對網絡負載的影響,所述發送方終端還包括與所述RTCP包發送單元11相連的自適應單元17。所述編碼級別表存儲單元13,用於預設編碼級別表。所述第一終端能力獲取單元15,用於獲取本端的終端能力。所述最高^L頻幀率確定單元16,用於以本端的終端能力和接收方終端發來的終端能力中較低的終端能力確定最高視頻幀率,並以該高視頻幀率與所述編碼級別表存儲單元13交互,相應確定編碼級別表中可用的級別表項。所述級別表項提取單元12,用於根據收到的網絡狀況判斷結果,從所述編碼級別表存儲單元13存儲的編碼級別表中提糾目應的級別表項,並將提取的級別表項中的l^t輸出到編碼單元14。所述編碼單元14,用於根據輸入的參數,將視頻流編碼,並向接收方終端2發送。所述RTCP包發送單元11,用於向接收方終端2發送RTCP包。所述自適應單元17,用於以自適應的時間間隔控制所述RTCP包發送單元11發送RTCP包。參見圖3所示,上述系統中的接收方終端2(即本發明的接收方終端)中包括解碼單元21和RTCP包接收單元22;為了顧及收發雙方的終端能力對視頻質量和流暢度的影響,所述接收方終端還包括第二終端能力獲取單元23。所述解碼單元21,用於將收到的^L頻碼流解碼。所述RTCP包接收單元22,用於接收RTCP包,並根據RTCP包中的信息判斷網絡狀況,以及將判斷結果反饋給發送方終端1。所述第二終端能力獲取單元23,用於獲取本端的終端能力,並向發送方終端l發送。應用上述系統及終端,本發明提供了一種調節視頻質量的方法,參見圖4所示,包括下列主要步驟Sl、從預設的編碼級別表中提取默認級別表項。首先,在發送方終端中預設編碼級別表。所述編碼級別表中包括若干級別表項,以適應不同的網絡狀況。所述級別表項越高,其中的各參數數值適用的網絡狀況越好;相反,所述級別表項越低,其中的各參數數值適應的網絡狀況越差。參見表一所示,所述編碼級別表中的每一級別表項均包括下列參數關鍵幀I幀間隔、質量優先或速度優先、質量優先情況下的帶寬、質量優先情況下的幀率、速度優先情況下的帶寬,以及速度優先情況下的幀率;此外,為了增加碼率控制的靈活性,每一級別表項中還包括視頻窗口橫向縮放比例,以及視頻窗口縱向縮放比例。例如第9級表項={100,0,300,12,200,13,4/5,1}表示在第9級上,編碼器將每隔100幀插入一個I幀,選擇速度優先方式,質量優先情況下的帶寬和幀率分別為300k和12幀,速度優先方式下的帶寬和幀率分別為200k和13幀,視頻窗口橫向縮放比例為4/5,視頻窗口縱向縮放比例為1。tableseeoriginaldocumentpage11質量優先情況下的幀率用戶對質量要求高時,提供較低的幀率速度優先情況下的帶寬用戶對流暢度要求高時,提供較低的帶寬速度優先情況下的幀率用戶對流暢度要求高時,提供較高的幀率視頻窗口橫向縮放比例逐級縮小視頻窗口以降低帶寬視頻窗口縱向縮放比例逐級縮小視頻窗口以降低帶寬表一其次,可選擇檢測收發雙方的終端能力。R264標準與傳統的編碼標準相比,編碼效率能夠提高50%左右,但其對終端能力的要求也將成倍地增加。如果接收方終端的解碼能力不足,就必須控制發送方終端的編碼幀率,以免接收方終端來不及解碼而丟幀,造成浮見頻的不流暢。因此,為了顧及收發雙方的終端能力,以達到更好的視頻效果,在建立視頻連接之前,可選擇檢測Jlt發雙方的終端能力。以收發雙方的終端能力中較低的終端能力確定最高視頻幀率,並以該最高視頻幀率為限,相應確定編碼級別表中可用的級別表項。在視頻流編解碼過程中,終端能力主要體現在CPU的處理能力。CPU的處理能力主要由CPU主頻決定,但除主頻之外,其他因素(如Cache大小)也對CPU的處理能力有一定影響。因此根據CPU主頻初步對應出最高視頻幀率,例如2700MHZ主頻對應15幀,400MHZ主頻對應1幀。進一步,再綜合考慮CPU類型和一二級Cache大小等特性,以f步正初步對應出的最高視頻幀率,例如對於AMD晶片,2級Cache大小超過128則幀率加1,超過256則幀率加2。最後,以所述最高視頻幀率為限,從預設的編碼級別表中提取默認級別表項,所述默認級別表項應選擇較低的級別表項,以保證順利建立視頻連接。S2、以默認級別表項中的參數建立視頻連接。53、發送RTCP包。建立視頻連接後,發送方終端向接收方終端發送RTCP包。所述發送的RTCP包中含有丟包率、網絡抖動和延遲時間等信息。本步驟可採用每隔一定的時長發送一個RTCP包的方式。但是當視頻連接剛建立時,發包的時間間隔較短為宜,以快速判斷網絡狀況;而在視頻連接穩定之後,發包的時間間隔應逐漸加長,以減少RTCP包帶來的網絡負載。所以本發明優選以自適應的時間間隔收發RTCP包。所述自適應的時間間隔通過以下公式計算發送RTCP包的時間間隔-(視頻已建立的時間)x(EXP(I幀間隔時間/125)-1)。54、接收RTCP包,以判斷網絡狀況。接收方終端收到發送方終端發來的RTCP包後,解包獲取相關信息,若收到的RTCP包中含有的丟包率、網絡抖動和延遲時間同時小於相應的閥值時,判定網絡狀況良好;否則,判定網絡狀況不好。55、才艮據判斷結果相應調整當前編碼級別表項。接收方終端將網絡狀況判斷結果反々貴給發送方終端。若發送方終端收到的判斷結果表明當前網絡狀況良好,還有提升視頻質量和流暢度的餘地,則調高當前所用的編碼級別表項,從而編碼生成質量更高的視頻碼流,向接收方終端發送;若發送方終端收到的判斷結果表明當前網絡狀況不好,即當前所用的編碼級別表項已經超過了當前網絡狀況的適應能力,則調低當前所用的編碼級別表項,從而編碼生成質量較低的視頻碼流,向接收方終端發送。明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。權利要求1、一種調節視頻質量的方法,其特徵在於,包括下列步驟從預設的編碼級別表中提取默認級別表項,並以該表項中的參數建立視頻連接;以及收發實時傳輸控制協議RTCP包,以判斷網絡狀況,並根據判斷結果相應調整當前編碼級別表項。2、如權利要求1所述調節視頻質量的方法,其特徵在於,所述編碼級別表中的每一級別表項包括下列參數關鍵幀I幀間隔、質量優先或速度優先、質量優先情況下的帶寬、質量優先情況下的幀率、速度優先情況下的帶寬、速度優先情況下的幀率、視頻窗口橫向縮放比例,以及視頻窗口縱向縮放比例。3、如權利要求1所述調節視頻質量的方法,其特徵在於,接收方以預設的閥值與收到的RTCP包中的相關信息比較,以判斷網絡狀況,並根據判斷結果相應調整當前編碼級別表項。4、如權利要求3所述調節視頻質量的方法,其特徵在於,接收方收到的RTCP包中含有的丟包率、網絡抖動和延遲時間同時小於相應的閥值時,判定網絡狀況良好,並調高所用的編碼級別表項;否則,判定網絡狀況不好,並調低所用的編碼級別表項。5、如權利要求1至4任一項所述調節視頻質量的方法,其特徵在於,以收發雙方的終端能力中較低的終端能力確定最高視頻幀率,並以該最高視頻幀率為限,相應確定編碼級別表中可用的級別表項。6、如權利要求5所述調節視頻質量的方法,其特徵在於,所述終端能力包括該終端的CPU主頻,該終端的一級高速緩衝存儲器Cache的大小,以及該終端的二級Cache的大小。7、如權利要求1至4任一項所述調節視頻質量的方法,其特徵在於,以自適應的時間間隔收發RTCP包。8、如權利要求7所述調節視頻質量的方法,其特徵在於,所述自適應的時間間隔通過以下公式計算發送RTCP包的時間間隔-(視頻已建立的時間)x(EXP(I幀間隔時間/125)-1)。9、一種發送方終端,包括編碼單元,用於根據輸入的參數,將視頻流編碼,並向接收方終端發送;RTCP包發送單元,用於向接收方終端發送RTCP包;其特徵在於,所述發送方終端還包括編碼級別表存儲單元,用於預設編碼級別表;級別表項提取單元,用於根據收到的網絡狀況判斷結果,從所述編碼級別表存儲單元存儲的編碼級別表中提取相應的級別表項,並將提取的級別表項中的參數輸出到編碼單元。10、如權利要求9所述的發送方終端,其特徵在於,所述終端還包括第一終端能力獲取單元,用於獲取本端的終端能力;最高視頻幀率確定單元,用於以本端的終端能力和接收方終端發來的終端能力中較低的終端能力確定最高視頻幀率,並以該最高視頻幀率與所述編碼級別表存儲單元交互,相應確定編碼級別表中可用的級別表項。11、如權利要求9所述的發送方終端,其特徵在於,所述終端還包括自適應單元,用於以自適應的時間間隔控制所述RTCP包發送單元發送RTCP包。12、一種接收方終端,包括解碼單元,用於將收到的^L頻碼流解碼;RTCP包接收單元,用於接收RTCP包,並根據RTCP包中的信息判斷網絡狀況,以及將判斷結果反饋給發送方終端;其特徵在於,所述接收方終端還包括第二終端能力獲取單元,用於獲取本端的終端能力,並向發送方終端發送。13、一秤調節視頻質量的系統,包栝接收方終端,用於對接收到的視頻碼流解碼,以及根據收到的RTCP包中的信息判斷網絡狀況,並將判斷結果反々貴給發送方終端;其特徵在於,所述系統還包括發送方終端,用於發送編碼後的視頻碼流及RTCP包,以及根據接收方終端反饋的網絡狀況判斷結果,從預設的編碼級別表中提取相應的級別表項,並以該級別表項中的參數進行編碼。全文摘要本發明公開了調節視頻質量的方法、系統及終端,用以解決現有技術需要估計當前的網絡帶寬值,當估計不準時視頻傳輸質量將受到影響的問題。本發明方法包括從預設的編碼級別表中提取默認級別表項,並以該表項中的參數建立視頻連接;以及收發實時傳輸控制協議RTCP包,以判斷網絡狀況,並根據判斷結果相應調整當前編碼級別表項。本發明發送方終端,包括編碼單元,RTCP包發送單元;以及編碼級別表存儲單元,用於預設編碼級別表;級別表項提取單元,用於根據收到的網絡狀況判斷結果,從所述編碼級別表存儲單元存儲的編碼級別表中提取相應的級別表項,並將提取的級別表項中的參數輸出到編碼單元。本發明可避免估計當前的網絡帶寬值。文檔編號H04N7/24GK101115196SQ20061010359公開日2008年1月30日申請日期2006年7月27日優先權日2006年7月27日發明者俊劉,盛馥鍾申請人:騰訊科技(深圳)有限公司