專利名稱:動態(tài)更改視頻編碼的視頻通信方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像通信領(lǐng)域,特別是涉及一種動態(tài)更改視頻編碼的視頻通信方法, 還涉及一種動態(tài)更改視頻編碼的視頻通信系統(tǒng)。
背景技木隨著網(wǎng)絡(luò)通信技術(shù)的發(fā)展,通信終端間進行視頻通信的應(yīng)用越來越普遍。傳統(tǒng)的視頻通信技術(shù)中,當(dāng)本地的接收端視頻窗ロ尺寸發(fā)生變化時(例如用戶的人為縮放),接收端是根據(jù)一定時間內(nèi)的視頻質(zhì)量統(tǒng)計結(jié)果,使用實時傳送協(xié)議控制協(xié)議 (RTCP)通知發(fā)送端的視頻源編碼器動態(tài)改變編碼率、分辨率、碼率、幀率等參數(shù),最終適應(yīng)窗ロ尺寸的變化。因此發(fā)送端的視頻源編碼器會在一定時間內(nèi)仍然保持編碼策略不變。上述傳統(tǒng)技術(shù)完全基于對近期視頻質(zhì)量的統(tǒng)計來通知發(fā)送端的編碼器做出變化。 為了完全適應(yīng)接收端視頻窗ロ變化等操作,發(fā)送端需要一定的響應(yīng)時間,效率不高。特別是將大窗ロ縮小為小窗ロ吋,耗時較多,浪費了較多的帶寬資源,影響到其他各路視頻更加有效利用帶寬和CPU資源。對于小窗ロ拉伸為大窗ロ的時候,發(fā)送端仍然采用較小的分辨率編碼,影響接收端回放視頻的質(zhì)量。
發(fā)明內(nèi)容基于此,有必要提供一種能夠快速響應(yīng)視頻窗ロ尺寸變化的動態(tài)更改視頻編碼的視頻通信方法。一種動態(tài)更改視頻編碼的視頻通信方法,包括下列步驟獲取視頻接收端的視頻窗ロ大小變化指令;根據(jù)所述變化指令生成編碼變化信令;將所述編碼變化信令發(fā)送給視頻發(fā)送端;所述視頻發(fā)送端接收并根據(jù)所述編碼變化信令實時修改編碼器的編碼參數(shù)。優(yōu)選的,所述編碼變化信令是修改信令。優(yōu)選的,所述編碼器的編碼參數(shù)包括編碼率、碼率、分辨率和幀率的ー種或兩種以上;所述修改信令包含需修改的編碼率、碼率、分辨率和幀率的ー種或兩種以上。優(yōu)選的,還包括下列步驟統(tǒng)計所述視頻接收端的視頻質(zhì)量;根據(jù)第一預(yù)設(shè)時間內(nèi)所述視頻質(zhì)量的統(tǒng)計結(jié)果,使用實時傳送協(xié)議控制協(xié)議通知視頻發(fā)送端對應(yīng)調(diào)整所述編碼器的編碼參數(shù)。優(yōu)選的,所述方法還包括所述視頻發(fā)送端根據(jù)修改后的編碼參數(shù)進行視頻編碼, 并將編碼后的視頻返回至所述視頻接收端的步驟。優(yōu)選的,所述將所述編碼變化信令發(fā)送給視頻發(fā)送端的步驟中,是通過傳輸控制協(xié)議實現(xiàn)所述編碼變化信令的發(fā)送。還有必要提供一種能夠快速響應(yīng)視頻窗ロ尺寸變化的動態(tài)更改視頻編碼的視頻通信系統(tǒng)。一種動態(tài)更改視頻編碼的視頻通信系統(tǒng),包括視頻接收端和視頻發(fā)送端,所述視
3頻接收端包括順序連接的輸入模塊、信令生成模塊以及發(fā)送端ロ,所述輸入模塊用于獲取視頻接收端的視頻窗ロ大小變化指令,所述信令生成模塊根據(jù)所述變化指令生成編碼變化信令,所述發(fā)送端ロ用于將所述編碼變化信令發(fā)送給所述視頻發(fā)送端;所述視頻發(fā)送端包括相互連接的接收端ロ以及編碼器,所述接收端ロ用于接收所述編碼變化信令,所述編碼器根據(jù)所述編碼變化信令實時修改編碼參數(shù)。優(yōu)選的,所述編碼器的編碼參數(shù)包括編碼率、碼率、分辨率和幀率的ー種或兩種以上;所述編碼變化信令是修改信令,包含需要更改的編碼率、碼率、分辨率、幀率參數(shù)中的一種或兩種以上。優(yōu)選的,所述視頻接收端還包括與所述發(fā)送端ロ連接的視頻質(zhì)量統(tǒng)計模塊,用于統(tǒng)計所述視頻接收端的視頻質(zhì)量;所述發(fā)送端ロ還用于根據(jù)第一預(yù)設(shè)時間內(nèi)所述視頻質(zhì)量的統(tǒng)計結(jié)果,使用實時傳送協(xié)議控制協(xié)議通知視頻發(fā)送端對應(yīng)調(diào)整所述編碼器的編碼參數(shù)。優(yōu)選的,所述視頻發(fā)送端還用于根據(jù)修改后的編碼參數(shù)進行視頻編碼,并將編碼后的視頻返回至所述視頻接收端。上述動態(tài)更改視頻編碼的視頻通信方法和動態(tài)更改視頻編碼的視頻通信系統(tǒng),當(dāng)視頻接收端的視頻窗ロ尺寸發(fā)生變化吋,立即向視頻發(fā)送端發(fā)送ー個通知編碼參數(shù)更改的信令。發(fā)送端根據(jù)信令中的參數(shù)實時調(diào)整編碼器的編碼參數(shù),因此能更及時、合理、高效地利用網(wǎng)絡(luò)帶寬和CPU資源。
圖1是ー實施例中動態(tài)更改視頻編碼的視頻通信方法的流程圖;圖2是ー實施例中動態(tài)更改視頻編碼的視頻通信系統(tǒng)的結(jié)構(gòu)圖;圖3是另ー實施例中動態(tài)更改視頻編碼的視頻通信系統(tǒng)的結(jié)構(gòu)圖。
具體實施方式為使本發(fā)明的目的、特征和優(yōu)點能夠更為明顯易懂,下面結(jié)合附圖對本發(fā)明的具體實施方式
做詳細的說明。本發(fā)明是在傳統(tǒng)的實時視頻流的QoS(Quality of krvice,服務(wù)質(zhì)量)保證的基礎(chǔ)之上,通過在接收端視頻窗ロ尺寸調(diào)整時生成編碼變化信令,使得發(fā)送端能夠?qū)崟r響應(yīng)接收端的變化。適用于多路(包括兩路)的視頻通信。圖1是ー實施例中動態(tài)更改視頻編碼的視頻通信方法的流程圖,包括下列步驟S110,獲取視頻接收端的視頻窗ロ大小變化指令。當(dāng)接收端的視頻窗ロ大小發(fā)生變化吋,獲取視頻窗ロ大小變化指令。S120,根據(jù)變化指令生成編碼變化信令。該編碼變化信令是ー個自定義的信令,例如可以采用修改信令(M0DIFY_CAP)。信令包含需要更改的編碼率、碼率、分辨率、幀率等編碼參數(shù)中的ー種或幾種。S130,將編碼變化信令發(fā)送給視頻發(fā)送端。在本實施例中,發(fā)送端和接收端之間的信令傳輸是通過TCP(傳輸控制協(xié)議)實現(xiàn)。在其他實施例中,也可以通過其它可靠的傳輸協(xié)議實現(xiàn)。在本實施例中,信令的傳輸使用和視頻數(shù)據(jù)的傳輸相同的信道。在其他實施例中也可以和視頻數(shù)據(jù)使用不同的信道進行傳輸。S140,視頻發(fā)送端接收并根據(jù)編碼變化信令實時修改編碼器的編碼參數(shù)。編碼參數(shù)包括編碼率、碼率、分辨率、幀率參數(shù)中的至少ー種。編碼參數(shù)修改后,視頻發(fā)送端根據(jù)修改后的編碼參數(shù)進行視頻編碼,并將編碼后的視頻傳輸至所述視頻接收端。在另ー個實施例中,動態(tài)更改視頻編碼的視頻通信方法在上述步驟的基礎(chǔ)上還包括以下步驟統(tǒng)計視頻接收端的視頻質(zhì)量。根據(jù)一定時間內(nèi)的視頻質(zhì)量的統(tǒng)計結(jié)果,使用實時傳送協(xié)議控制協(xié)議(RTCP)通知視頻發(fā)送端對應(yīng)調(diào)整視頻源編碼器的編碼率、分辨率、碼率、幀率等編碼參數(shù)。該一定吋間為第一預(yù)設(shè)時間,是ー個經(jīng)驗值。下面再通過ー個具體的實施例對動態(tài)更改視頻編碼的視頻通信方法的流程做一個說明。步驟A,建立視頻會話。視頻通信的多方通過會話建立協(xié)議建立起ー個多人視頻會話。步驟B,交換各自的視頻處理能力。在會話建立初期,通過交換信令(EXCHANGE_CAP)交換各自的視頻處理能力,該視頻處理能力包含了視頻會話每一方的終端硬件可解碼的視頻分辨率、碼率、幀率大小等參數(shù)值。能力交換后,會話的每一方都能知道當(dāng)前參與會話各方的視頻解碼能力。步驟C,編碼并進行視頻數(shù)據(jù)的傳輸。當(dāng)視頻會話建立起來后,會話各方根據(jù)對方的處理能力,適配ー套編碼參數(shù),有針對地開始編碼,并將編碼完成后的視頻數(shù)據(jù)進行傳步驟D,接收視頻數(shù)據(jù)并進行解碼。在會話過程中,即進行步驟C和步驟D的時候,由于用戶的拉伸操作或其它原因, 視頻窗ロ的大小會發(fā)生改變。當(dāng)接收端視頻窗ロ的大小發(fā)生變化吋,意味著接收端的解碼能力發(fā)生了變化。此時進入步驟S110,獲取視頻接收端的視頻窗ロ大小變化指令。S120,根據(jù)變化指令生成編碼變化信令。該編碼變化信令是修改信令(M0DIFY_ CAP),包含了當(dāng)前狀態(tài)下視頻接收端最新的解碼能力。S130,將編碼變化信令發(fā)送給視頻發(fā)送端。修改信令生成后立即被發(fā)送給視頻發(fā)送端。在本實施例中,修改信令的發(fā)送使用與步驟C中視頻數(shù)據(jù)的傳輸相同的信道。在其他實施例中也可以使用和視頻數(shù)據(jù)不同的信道進行傳輸。S140,視頻發(fā)送端接收并根據(jù)編碼變化信令實時修改編碼器的編碼參數(shù)。視頻發(fā)送端收到修改信令后,根據(jù)信令中的參數(shù),迅速動態(tài)調(diào)整發(fā)送端該路視頻(即與發(fā)送修改信令的一端進行的一路視頻)的編碼策略(即修改編碼參數(shù))。這樣可以快速地響應(yīng)和適應(yīng)接收端的變化。這樣ー來,在視頻的編碼策略更新后,視頻接收端會感知視頻編碼的變化,并且收到的視頻數(shù)據(jù)是更加符合當(dāng)前視頻處理能力的視頻數(shù)據(jù)流。另外,在本實施例中,視頻會話建立起來后,視頻通信各方會周期性地將自己當(dāng)前的ー些通信環(huán)境例如當(dāng)前網(wǎng)絡(luò)帶寬、延遲等信息和編碼需求通過RTCP信令通知其他參與會話的各方。收到RTCP信令的一方會根據(jù)RTCP信令中的參數(shù),調(diào)整自身的編碼策略(調(diào)整編碼參數(shù)調(diào)整編碼參數(shù)),以適應(yīng)通信環(huán)境的變化。但是這個過程一般比較緩慢,對于一些變化比較頻繁的情境下,響應(yīng)速度要慢很多,造成了資源的浪費。通過引入修改信令,可以更加及時地適應(yīng)變化,因而更加快速、合理、有效的利用和分配帶寬、CPU資源。從而從整體上提升多人實時視頻通信的質(zhì)量。圖2是ー實施例中動態(tài)更改視頻編碼的視頻通信系統(tǒng)的結(jié)構(gòu)圖,包括視頻接收端 200和視頻發(fā)送端300。視頻接收端200包括順序連接的輸入模塊210、信令生成模塊220以及發(fā)送端ロ 230。輸入模塊210用于獲取視頻接收端200的視頻窗ロ大小變化指令。信令生成模塊220 根據(jù)變化指令生成編碼變化信令。發(fā)送端ロ 230用于將編碼變化信令發(fā)送給視頻發(fā)送端 300。在本實施例中,發(fā)送端ロ 230將編碼變化信令發(fā)送給視頻發(fā)送端300是通過 TCP(傳輸控制協(xié)議)實現(xiàn)。在其他實施例中,也可以通過其它可靠的傳輸協(xié)議實現(xiàn)。在本實施例中,編碼變化信令的傳輸是和視頻數(shù)據(jù)的傳輸使用相同的信道。在其他實施例中也可以和視頻數(shù)據(jù)使用不同的信道進行傳輸。視頻發(fā)送端300包括相互連接的接收端ロ 310以及編碼器320。接收端ロ 310用于接收發(fā)送端ロ 230發(fā)送的編碼變化信令。編碼器320根據(jù)編碼變化信令實時修改編碼參數(shù)。視頻發(fā)送端300還用于根據(jù)修改后的編碼參數(shù)進行視頻編碼,并將編碼后的視頻返回至視頻接收端200。在本實施例中,編碼變化信令是ー個自定義的信令,例如可以采用MODIFY (修改) 信令。信令包含需要更改的編碼率、碼率、分辨率、幀率參數(shù)中的ー種或幾種。圖3是另ー實施例中動態(tài)更改視頻編碼的視頻通信系統(tǒng)的結(jié)構(gòu)圖,其與圖2所示實施例的主要區(qū)別在于還包括與發(fā)送端ロ連230接的視頻質(zhì)量統(tǒng)計模塊M0。視頻質(zhì)量統(tǒng)計模塊240用于統(tǒng)計視頻接收端200的視頻質(zhì)量。發(fā)送端ロ 230還用于根據(jù)第一預(yù)設(shè)時間內(nèi)視頻質(zhì)量的統(tǒng)計結(jié)果,使用實時傳送協(xié)議控制協(xié)議(RTCP)通知視頻發(fā)送端300對應(yīng)調(diào)整編碼器320的編碼參數(shù)。上述動態(tài)更改視頻編碼的視頻通信方法和動態(tài)更改視頻編碼的視頻通信系統(tǒng),當(dāng)視頻接收端的視頻窗ロ尺寸發(fā)生變化吋,立即向視頻發(fā)送端發(fā)送ー個通知編碼參數(shù)更改的信令。發(fā)送端根據(jù)信令中的參數(shù)調(diào)整編碼器的編碼參數(shù),同時根據(jù)RTCP的反饋自適應(yīng)地調(diào)整對各路的帶寬和CPU需求,因此能更及時、合理、高效地利用網(wǎng)絡(luò)帶寬和CPU資源。以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準。
權(quán)利要求
1.一種動態(tài)更改視頻編碼的視頻通信方法,包括下列步驟獲取視頻接收端的視頻窗ロ大小變化指令;根據(jù)所述變化指令生成編碼變化信令;將所述編碼變化信令發(fā)送給視頻發(fā)送端;所述視頻發(fā)送端接收并根據(jù)所述編碼變化信令實時修改編碼器的編碼參數(shù)。
2.根據(jù)權(quán)利要求1所述的動態(tài)更改視頻編碼的視頻通信方法,其特征在干,所述編碼變化信令是修改信令。
3.根據(jù)權(quán)利要求2所述的動態(tài)更改視頻編碼的視頻通信方法,其特征在干,所述編碼器的編碼參數(shù)包括編碼率、碼率、分辨率和幀率的ー種或兩種以上;所述修改信令包含需修改的編碼率、碼率、分辨率和幀率的ー種或兩種以上。
4.根據(jù)權(quán)利要求1所述的動態(tài)更改視頻編碼的視頻通信方法,其特征在于,還包括下列步驟統(tǒng)計所述視頻接收端的視頻質(zhì)量;根據(jù)第一預(yù)設(shè)時間內(nèi)所述視頻質(zhì)量的統(tǒng)計結(jié)果,使用實時傳送協(xié)議控制協(xié)議通知視頻發(fā)送端對應(yīng)調(diào)整所述編碼器的編碼參數(shù)。
5.根據(jù)權(quán)利要求1所述的動態(tài)更改視頻編碼的視頻通信方法,其特征在干,所述方法還包括所述視頻發(fā)送端根據(jù)修改后的編碼參數(shù)進行視頻編碼,并將編碼后的視頻返回至所述視頻接收端的步驟。
6.根據(jù)權(quán)利要求1所述的動態(tài)更改視頻編碼的視頻通信方法,其特征在干,所述將所述編碼變化信令發(fā)送給視頻發(fā)送端的步驟中,是通過傳輸控制協(xié)議實現(xiàn)所述編碼變化信令的發(fā)送。
7.一種動態(tài)更改視頻編碼的視頻通信系統(tǒng),包括視頻接收端和視頻發(fā)送端,其特征在干,所述視頻接收端包括順序連接的輸入模塊、信令生成模塊以及發(fā)送端ロ,所述輸入模塊用于獲取視頻接收端的視頻窗ロ大小變化指令,所述信令生成模塊根據(jù)所述變化指令生成編碼變化信令,所述發(fā)送端ロ用于將所述編碼變化信令發(fā)送給所述視頻發(fā)送端;所述視頻發(fā)送端包括相互連接的接收端ロ以及編碼器,所述接收端ロ用于接收所述編碼變化信令, 所述編碼器根據(jù)所述編碼變化信令實時修改編碼參數(shù)。
8.根據(jù)權(quán)利要求7所述的動態(tài)更改視頻編碼的視頻通信系統(tǒng),其特征在干,所述編碼器的編碼參數(shù)包括編碼率、碼率、分辨率和幀率的ー種或兩種以上;所述編碼變化信令是修改信令,包含需要更改的編碼率、碼率、分辨率、幀率參數(shù)中的ー種或兩種以上。
9.根據(jù)權(quán)利要求7所述的動態(tài)更改視頻編碼的視頻通信系統(tǒng),其特征在干,所述視頻接收端還包括與所述發(fā)送端ロ連接的視頻質(zhì)量統(tǒng)計模塊,用于統(tǒng)計所述視頻接收端的視頻質(zhì)量;所述發(fā)送端ロ還用于根據(jù)第一預(yù)設(shè)時間內(nèi)所述視頻質(zhì)量的統(tǒng)計結(jié)果,使用實時傳送協(xié)議控制協(xié)議通知視頻發(fā)送端對應(yīng)調(diào)整所述編碼器的編碼參數(shù)。
10.根據(jù)權(quán)利要求7所述的動態(tài)更改視頻編碼的視頻通信系統(tǒng),其特征在干,所述視頻發(fā)送端還用于根據(jù)修改后的編碼參數(shù)進行視頻編碼,并將編碼后的視頻返回至所述視頻接收端。
全文摘要
本發(fā)明涉及一種動態(tài)更改視頻編碼的視頻通信方法,包括下列步驟獲取視頻接收端的視頻窗口大小變化指令;根據(jù)所述變化指令生成編碼變化信令;將所述編碼變化信令發(fā)送給視頻發(fā)送端;所述視頻發(fā)送端接收并根據(jù)所述編碼變化信令實時修改編碼器的編碼參數(shù)。還涉及一種動態(tài)更改視頻編碼的視頻通信系統(tǒng)。本發(fā)明當(dāng)視頻接收端的視頻窗口尺寸發(fā)生變化時,立即向視頻發(fā)送端發(fā)送一個通知編碼參數(shù)更改的信令。發(fā)送端根據(jù)信令中的參數(shù)調(diào)整編碼器的編碼參數(shù),同時根據(jù)RTCP的反饋自適應(yīng)地調(diào)整對各路的帶寬和CPU需求,因此能更及時、合理、高效地利用網(wǎng)絡(luò)帶寬和CPU資源。
文檔編號H04N7/26GK102595093SQ20111000138
公開日2012年7月18日 申請日期2011年1月5日 優(yōu)先權(quán)日2011年1月5日
發(fā)明者谷沉沉, 陳謙 申請人:騰訊科技(深圳)有限公司