專利名稱:視頻通話質(zhì)量優(yōu)化的方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種視頻通話質(zhì)量優(yōu)化的方法及其系統(tǒng)。
背景技術(shù):
基于SIP (Session Initiation Protocol)是一個應(yīng)用層的信令控制協(xié)議的視頻電話,視頻及音頻采用RTP (Real-time Transport Protocol,實(shí)時傳輸協(xié)議)協(xié)議通過UDP(User Datagram Protocol,用戶數(shù)據(jù)包協(xié)議)方式傳送音視頻數(shù)據(jù),通過RTCP(Real-timeTransport Control Protocol,實(shí)時傳輸控制協(xié)議)是實(shí)時傳輸協(xié)議RTP的一個姐妹協(xié)議。實(shí)現(xiàn)服務(wù)質(zhì)量的監(jiān)視與反饋、媒體間的同步,以及多播組中成員的標(biāo)識。由于UDP屬于非可靠連接,當(dāng)網(wǎng)絡(luò)狀況比較差可能會有丟包的情況發(fā)生。如果視頻包有丟失,就會產(chǎn)生馬賽克等圖像質(zhì)量差的現(xiàn)象,如果丟失的是關(guān)鍵幀還會造成持續(xù)一段時間的質(zhì)量差,直到下一個關(guān)鍵幀接收到。在現(xiàn)有技術(shù)中,雖然在檢測到UDP有丟包采取補(bǔ)救措施,但是卻未考慮視頻通話網(wǎng)絡(luò)狀況對關(guān)鍵幀發(fā)送的影響。因此,造成了視頻通話質(zhì)量受到影響。綜上可知,現(xiàn)有的視頻通話技術(shù)在實(shí)際使用上,顯然存在不便與缺陷,所以有必要加以改進(jìn)。
發(fā)明內(nèi)容
針對上述的缺陷,本發(fā)明的目的在于提供一種視頻通話質(zhì)量優(yōu)化的方法及其系統(tǒng),以優(yōu)化了視頻通話的質(zhì)量。為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種視頻通話質(zhì)量優(yōu)化的方法,包括如下步驟:檢測視頻通話中關(guān)鍵幀丟失情況的發(fā)生;根據(jù)當(dāng)前所述視頻通話的網(wǎng)絡(luò)狀況,控制所述關(guān)鍵幀的發(fā)送。根據(jù)所述的方法,所述檢測視頻通話中關(guān)鍵幀丟失情況的發(fā)生的步驟之前包括:預(yù)設(shè)視頻接收實(shí)時傳輸控制協(xié)議端口的接收數(shù)據(jù)包數(shù)目的門限值和/或接收時間的門限值;預(yù)設(shè)在所述視頻通話中發(fā)送所述關(guān)鍵幀的網(wǎng)絡(luò)傳輸速率的閾值;所述檢測視頻通話中關(guān)鍵幀丟失情況的發(fā)生的步驟包括:視頻通話雙方根據(jù)所述接收數(shù)據(jù)包數(shù)目的門限值和/或接收時間的門限值判斷所述數(shù)據(jù)包是否有丟失;若判斷所述數(shù)據(jù)包有丟失,則檢測到所述視頻通話中關(guān)鍵幀丟失情況的發(fā)生。根據(jù)所述的方法,所述根據(jù)當(dāng)前所述視頻通話的網(wǎng)絡(luò)狀況,控制所述關(guān)鍵幀的發(fā)送的步驟包括:統(tǒng)計當(dāng)前所述視頻通話中的網(wǎng)絡(luò)傳輸速率;在所述網(wǎng)絡(luò)傳輸速率達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,視頻編碼器編制關(guān)鍵幀,并將所述關(guān)鍵幀發(fā)送到所述視頻通話的接收端;或者在所述網(wǎng)絡(luò)傳輸速率未達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,停止發(fā)送關(guān)鍵幀,并向所述接收端發(fā)送第一控制幀,請求所述接收端停止發(fā)送關(guān)鍵幀;所述接收端接收到所述第一控制幀后,停止發(fā)送關(guān)鍵幀。根據(jù)所述的方法,所述根據(jù)當(dāng)前所述視頻通話的網(wǎng)絡(luò)狀況,控制所述關(guān)鍵幀的發(fā)送的步驟還包括:在統(tǒng)計當(dāng)前所述視頻通話中的網(wǎng)絡(luò)傳輸速率重新達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,視頻編碼器編制關(guān)鍵幀,并將所述關(guān)鍵幀發(fā)送到所述視頻通話的所述接收端;向所述接收端發(fā)送第二控制幀,請求所述接收端恢復(fù)發(fā)送關(guān)鍵幀;所述接收端接收到所述第二控制幀后,恢復(fù)發(fā)送關(guān)鍵幀。根據(jù)所述的方法,所述視頻通話雙方根據(jù)所述接收數(shù)據(jù)包數(shù)目的門限值和/或接收時間的門限值判斷所述數(shù)據(jù)包是否有丟失的步驟包括:視頻通話的接收端判斷接收到的數(shù)據(jù)包的數(shù)目是否達(dá)到所述接收數(shù)據(jù)包數(shù)目的門限值;若未達(dá)到所述接收數(shù)據(jù)包數(shù)目的門限值,則判斷所述數(shù)據(jù)包發(fā)生丟失,并向所述視頻通話的發(fā)送端發(fā)送接收端報告;若達(dá)到所述接收數(shù)據(jù)包數(shù)目的門限值,則判斷接收所述數(shù)據(jù)包的時間是否達(dá)到所述接收時間的門限值,若未達(dá)到則判斷所述數(shù)據(jù)包發(fā)生丟失,并向所述視頻通話的發(fā)送端發(fā)送接收端報告;和/或所述視頻通話的發(fā)送端接收所述接收端報告,根據(jù)所述接收端報告以及上一次接收到的所述接收端報告判斷所述數(shù)據(jù)包的丟失是否超過所述接收數(shù)據(jù)包數(shù)目的門限值,若是則判斷所述數(shù)據(jù)包丟失。為了實(shí)現(xiàn)本發(fā)明的另一發(fā)明目的,本發(fā)明還提供了一種視頻通話質(zhì)量優(yōu)化的系統(tǒng),包括:檢測模塊,用于檢測視頻通話中關(guān)鍵幀丟失情況的發(fā)生;控制模塊,用于根據(jù)當(dāng)前所述視頻通話的網(wǎng)絡(luò)狀況,控制所述關(guān)鍵幀的發(fā)送。根據(jù)所述的系統(tǒng),所述系統(tǒng)還包括: 預(yù)設(shè)模塊,用于預(yù)設(shè)視頻接收實(shí)時傳輸控制協(xié)議端口的接收數(shù)據(jù)包數(shù)目的門限值和/或接收時間的門限值;以及在所述視頻通話中發(fā)送所述關(guān)鍵幀的網(wǎng)絡(luò)傳輸速率的閾值;所述檢測模塊包括:判斷子模塊,用于根據(jù)所述接收數(shù)據(jù)包數(shù)目的門限值和/或接收時間的門限值判斷所述數(shù)據(jù)包是否有丟失;若判斷所述數(shù)據(jù)包有丟失,則所述檢測模塊檢測到所述視頻通話中關(guān)鍵幀丟失情況的發(fā)生。根據(jù)所述的系統(tǒng),所述控制模塊包括:統(tǒng)計子模塊,用于統(tǒng)計當(dāng)前所述視頻通話中的網(wǎng)絡(luò)傳輸速率;第一控制子模塊,用于在所述網(wǎng)絡(luò)傳輸速率達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,控制視頻編碼器編制關(guān)鍵幀,并將所述關(guān)鍵幀發(fā)送到所述視頻通話的接收端;或者第二控制子模塊,用于在所述網(wǎng)絡(luò)傳輸速率未達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,控制所述視頻通話的發(fā)送端停止發(fā)送關(guān)鍵幀,并向所述接收端發(fā)送第一控制幀,請求所述接收端停止發(fā)送關(guān)鍵幀;所述接收端接收到所述第一控制幀后,停止發(fā)送關(guān)鍵幀。根據(jù)所述的系統(tǒng),所述控制模塊還包括:第三控制子模塊,用于在統(tǒng)計子模塊統(tǒng)計當(dāng)前所述視頻通話中的網(wǎng)絡(luò)傳輸速率重新達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,控制視頻編碼器編制關(guān)鍵幀,并將所述關(guān)鍵幀發(fā)送到所述視頻通話的所述接收端;以及向所述接收端發(fā)送第二控制幀,請求所述接收端恢復(fù)發(fā)送關(guān)鍵幀;所述接收端接收到所述第二控制幀后,恢復(fù)發(fā)送關(guān)鍵幀。根據(jù)所述的系統(tǒng),所述判斷子模塊包括:第一判斷單元,設(shè)置于所述視頻通話的接收端,用于判斷接收到的數(shù)據(jù)包的數(shù)目是否達(dá)到所述接收數(shù)據(jù)包數(shù)目的門限值;若未達(dá)到所述接收數(shù)據(jù)包數(shù)目的門限值,則所述第一判斷單元判斷所述數(shù)據(jù)包發(fā)生丟失;第二判斷單元,設(shè)置于所述視頻通話的接收端,用于判斷接收所述數(shù)據(jù)包的時間是否達(dá)到所述接收時間的門限值;若未達(dá)到所述接收時間的門限值,則所述第二判斷單元判斷所述數(shù)據(jù)包發(fā)生丟失;發(fā)送單元,用于在所述第一判斷單元和/或第二判斷單元判斷所述數(shù)據(jù)包發(fā)生丟失時,向所述視頻通話的發(fā)送端發(fā)送接收端報告;和/或接收單元,設(shè)置于所述視頻通話的發(fā)送端,用于接收所述接收端報告;第三判斷單元,用于根據(jù)所述接收端報告以及上一次接收到的所述接收端報告判斷所述數(shù)據(jù)包的丟失是否超過所述接收數(shù)據(jù)包數(shù)目的門限值,若是則判斷所述數(shù)據(jù)包丟失。本發(fā)明通過判斷所述視頻通話中數(shù)據(jù)包是否有丟失;若判斷所述數(shù)據(jù)包有丟失,則視頻編碼器編制關(guān)鍵幀,并將所述關(guān)鍵幀發(fā)送到所述視頻通話的接收端。同時,由于在視頻數(shù)據(jù)傳輸?shù)倪^程中,關(guān)鍵幀的數(shù)據(jù)傳輸量很大,在視頻質(zhì)量差的情況下,頻繁的發(fā)送關(guān)鍵幀將加重終端傳輸數(shù)據(jù)的負(fù)載,當(dāng)移動終端的空口能力未恢復(fù)到能夠順暢承載視頻電話業(yè)務(wù)時,視頻質(zhì)量會進(jìn)一步惡化,通過檢測當(dāng)前視頻通話的網(wǎng)絡(luò)狀況,控制所述關(guān)鍵幀的發(fā)送,從而優(yōu)化了視頻通話的質(zhì)量,提升了用戶體驗。
圖1是本發(fā)明第一實(shí)施例提供的視頻通話質(zhì)量優(yōu)化的系統(tǒng)結(jié)構(gòu)圖;圖2是本發(fā)明第二、三、四實(shí)施例提供的視頻通話質(zhì)量優(yōu)化的系統(tǒng)結(jié)構(gòu)圖;圖3是本發(fā)明一個實(shí)施例提供的視頻通話質(zhì)量優(yōu)化的系統(tǒng)結(jié)構(gòu)圖;圖4是本發(fā)明第五、六、七實(shí)施例提供的視頻通話質(zhì)量優(yōu)化的系統(tǒng)結(jié)構(gòu)圖;圖5是本發(fā)明第八實(shí)施例提供的視頻通話質(zhì)量優(yōu)化的方法流程圖;圖6A是本發(fā)明一個實(shí)施例提供的視頻通話質(zhì)量優(yōu)化的方法流程圖;圖6B是本發(fā)明一個實(shí)施例提供的視頻通話質(zhì)量優(yōu)化的方法流程圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。參見圖1,在本發(fā)明的第一實(shí)施例中,提供了一種視頻通話質(zhì)量優(yōu)化的系統(tǒng)100,包括:檢測模塊10,用于檢測視頻通話中關(guān)鍵幀丟失情況的發(fā)生;控制模塊20,用于根據(jù)當(dāng)前所述視頻通話的網(wǎng)絡(luò)狀況,控制所述關(guān)鍵幀的發(fā)送。在該實(shí)施例中,首先通過檢測模塊10視頻通話中是否有關(guān)鍵幀丟失情況的發(fā)送,由于關(guān)鍵幀丟失將造成視頻通話質(zhì)量變差,因此首先通過該檢測模塊10檢測上述情況是否發(fā)生。然后,若關(guān)鍵幀丟失情況的發(fā)生,則由控制模塊20根據(jù)當(dāng)前所述視頻通話的網(wǎng)絡(luò)狀況,控制所述關(guān)鍵幀的發(fā)送。這樣設(shè)置是由于在整個視頻數(shù)據(jù)傳輸?shù)倪^程中,關(guān)鍵幀的數(shù)據(jù)傳輸量很大的,在視頻質(zhì)量差的情況下,而網(wǎng)絡(luò)狀況比較差的情況下,頻繁的發(fā)送關(guān)鍵幀將加重終端傳輸數(shù)據(jù)的負(fù)載。如在移動終端的空口能力未恢復(fù)到能夠順暢承載視頻電話業(yè)務(wù)時,繼續(xù)發(fā)送關(guān)鍵幀將使視頻質(zhì)量進(jìn)一步惡化,而不會有所提高。因此根據(jù)具體的網(wǎng)絡(luò)狀況進(jìn)行一步控制關(guān)鍵幀的發(fā)送,將有利于視頻通話質(zhì)量的提高。所述關(guān)鍵幀為I幀。參見圖2,在本發(fā)明的第二實(shí)施例中,所述系統(tǒng)100還包括:預(yù)設(shè)模塊30,用于預(yù)設(shè)視頻接收實(shí)時傳輸控制協(xié)議端口的接收數(shù)據(jù)包數(shù)目的門限值和/或接收時間的門限值;以及在所述視頻通話中發(fā)送所述關(guān)鍵幀的網(wǎng)絡(luò)傳輸速率的閾值;檢測模塊10包括:判斷子模塊11,用于根據(jù)所述接收數(shù)據(jù)包數(shù)目的門限值和/或接收時間的門限值判斷所述數(shù)據(jù)包是否有丟失;若判斷所述數(shù)據(jù)包有丟失,則檢測模塊10檢測到所述視頻通話中關(guān)鍵幀丟失情況的發(fā)生。在基于SIP的視頻電話中,音視頻分別通過一對端口傳送數(shù)據(jù)及控制信息,RTP分組只包含RTP數(shù)據(jù),而控制是由另一個配套使用的RTCP協(xié)議提供。RTP在1025到65535之間選擇一個未使用的偶數(shù)Μ)Ρ端口號,而在同一次會話中的RTCP則使用下一個奇數(shù)UDP端口號。RTCP控制包共有五種類型,其中用于提供QoS (Quality of Service,服務(wù)質(zhì)量)反饋的有兩種SR (Sender Report,發(fā)送端報告)和RR (Receiver Report,接收端報告)。前者描述發(fā)送端的發(fā)送和接收統(tǒng)計數(shù)據(jù);后者描述接收端的接收統(tǒng)計數(shù)據(jù)。這些統(tǒng)計數(shù)據(jù)包括發(fā)送包數(shù)、發(fā)送字節(jié)數(shù)、累計丟包數(shù)、已收報文的最大序列號、到達(dá)時間間隔抖動等。在該實(shí)施例中,通過預(yù)設(shè)模塊30預(yù)先設(shè)置視頻接收RTCP端口的接收數(shù)據(jù)包數(shù)門限值和/或接收時間門限值;以及在所述視頻通話中發(fā)送所述關(guān)鍵幀的網(wǎng)絡(luò)傳輸速率的閾值。所述關(guān)鍵幀的網(wǎng)絡(luò)傳輸速率的閾值以視頻通話可以順利發(fā)送視頻和音頻為準(zhǔn),如一般的WIFI無線通信網(wǎng)絡(luò)的傳輸速率可以滿足視頻通話的需求,可以設(shè)置該閾值為2M/S。此外,特別是3G網(wǎng)絡(luò),由于其網(wǎng)速比較快,將有利于視頻通話的正常進(jìn)行。判斷子模塊11判斷接收數(shù)據(jù)包未達(dá)到門限值或接收時間達(dá)到門限值時,則檢測模塊10檢測到所述視頻通話中關(guān)鍵幀丟失情況的發(fā)生。參見圖2,在本發(fā)明的第三實(shí)施例中,控制模塊20包括:統(tǒng)計子模塊21,用于統(tǒng)計當(dāng)前所述視頻通話中的網(wǎng)絡(luò)傳輸速率;
第一控制子模塊22,用于在所述網(wǎng)絡(luò)傳輸速率達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,控制視頻編碼器26編制關(guān)鍵幀,并將所述關(guān)鍵幀發(fā)送到所述視頻通話的接收端;或者第二控制子模塊23,用于在所述網(wǎng)絡(luò)傳輸速率未達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,控制所述視頻通話的發(fā)送端停止發(fā)送關(guān)鍵幀,并向所述接收端發(fā)送第一控制幀,請求所述接收端停止發(fā)送關(guān)鍵幀;所述接收端接收到所述第一控制幀后,停止發(fā)送關(guān)鍵幀。在該實(shí)施例中,統(tǒng)計子模塊21統(tǒng)計所述視頻通話中的網(wǎng)絡(luò)傳輸速率,第一控制子模塊22和第一控制子模塊22分別將統(tǒng)計子模塊21統(tǒng)計的網(wǎng)絡(luò)傳輸速率與所述預(yù)設(shè)的網(wǎng)絡(luò)傳輸速率的閾值進(jìn)行對比。并且在所述網(wǎng)絡(luò)傳輸速率達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時第一控制子模塊22控制視頻編碼器26編制關(guān)鍵幀,并將所述關(guān)鍵幀發(fā)送到所述視頻通話的接收端。由此,在視頻通話過程中,發(fā)生數(shù)據(jù)丟失后,及時的進(jìn)行關(guān)鍵幀的編制,并發(fā)送到接收端,使視頻通話質(zhì)量提高。而在所述網(wǎng)絡(luò)傳輸速率未達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,第二控制子模塊23及時控制所述視頻通話的發(fā)送端停止發(fā)送關(guān)鍵幀,并向所述接收端發(fā)送第一控制幀,請求所述接收端停止發(fā)送關(guān)鍵幀;由此減少網(wǎng)絡(luò)負(fù)載,使視頻通話的網(wǎng)絡(luò)數(shù)據(jù)傳輸可以盡快的恢復(fù)。參見圖2在本發(fā)明的第四實(shí)施例中,控制模塊20還包括:第三控制子模塊24,用于在統(tǒng)計子模塊21統(tǒng)計當(dāng)前所述視頻通話中的網(wǎng)絡(luò)傳輸速率重新達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,控制視頻編碼器26編制關(guān)鍵幀,并將所述關(guān)鍵幀發(fā)送到所述視頻通話的所述接收端;以及向所述接收端發(fā)送第二控制幀,請求所述接收端恢復(fù)發(fā)送關(guān)鍵幀;所述接收端接收到所述第二控制幀后,恢復(fù)發(fā)送關(guān)鍵幀。在該實(shí)施例中,當(dāng)統(tǒng)計子模塊21統(tǒng)計當(dāng)前所述視頻通話中的網(wǎng)絡(luò)傳輸速率重新達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,第三控制子模塊24將控制視頻編碼器26編制關(guān)鍵幀發(fā)送到所述視頻通話的所述接收端,使視頻通話質(zhì)量提高。同時,向所述接收端發(fā)送第二控制幀,請求所述接收端恢復(fù)發(fā)送關(guān)鍵幀;使視頻通話流暢。參見圖3,在本發(fā)明的一個實(shí)施例中,提供了視頻通話質(zhì)量優(yōu)化的系統(tǒng)100的結(jié)構(gòu)框圖,包括了視頻電話應(yīng)用I ;視頻控制單元2、視頻編解碼單元3、音頻控制單元4、音頻編解碼單元5、通信模塊6。其中視頻編解碼單元3和音頻編解碼單元5分別負(fù)責(zé)視頻通話中的視頻和首頻編解碼,視頻控制單兀2和首頻控制單兀4分別控制包括視頻數(shù)據(jù)和首頻數(shù)據(jù)的傳輸及編解碼。而通信模塊6將統(tǒng)計子模塊21在物理空口層統(tǒng)計當(dāng)前數(shù)據(jù)發(fā)送的速率反饋到視頻控制單元2。該數(shù)據(jù)以一定的時間間隔更新到視頻通話視頻控制單元2中。視頻控制單元2可以根據(jù)當(dāng)前網(wǎng)絡(luò)狀況、以及P幀發(fā)送數(shù)量確定是否發(fā)送關(guān)鍵幀。同時若網(wǎng)絡(luò)質(zhì)量較差,頻控制單元2則發(fā)送控制幀,要求對端暫停關(guān)鍵幀的發(fā)送,以降低終端的網(wǎng)絡(luò)負(fù)載,使其能盡快從擁堵狀態(tài)中恢復(fù)。參見圖4,在本發(fā)明的第五實(shí)施例中,判斷子模塊11包括:第一判斷單元111,設(shè)置于所述視頻通話的接收端,用于判斷接收到的數(shù)據(jù)包的數(shù)目是否達(dá)到所述接收數(shù)據(jù)包數(shù)目的門限值;若未達(dá)到所述接收數(shù)據(jù)包數(shù)目的門限值,則所述第一判斷單元111判斷所述數(shù)據(jù)包發(fā)生丟失;第二判斷單元112,設(shè)置于所述視頻通話的接收端,用于判斷接收所述數(shù)據(jù)包的時間是否達(dá)到所述接收時間的門限值;若未達(dá)到所述接收時間的門限值,則所述第二判斷單元112判斷所述數(shù)據(jù)包發(fā)生丟失;發(fā)送單元113,用于在所述第一判斷單元111和/或第二判斷單元112判斷所述數(shù)據(jù)包發(fā)生丟失時,向所述視頻通話的發(fā)送端發(fā)送接收端報告。在該實(shí)施例中,可以由視頻通話的接收端單方面進(jìn)行數(shù)據(jù)包丟失的判斷。具體的,接收端通過第一判斷單元111、第二判斷單元112分別判斷接收數(shù)據(jù)包的數(shù)目是否達(dá)未到所述接收數(shù)據(jù)包數(shù)目的門限值,以及接收數(shù)據(jù)包的時間是否到達(dá)所述接收時間的門限值。接收數(shù)據(jù)包的數(shù)目是否達(dá)未到所述接收數(shù)據(jù)包數(shù)目的門限值,則說明有數(shù)據(jù)包丟失;所述接收數(shù)據(jù)包數(shù)目的門限值根據(jù)所述視頻編碼器26的關(guān)鍵幀間隔數(shù)設(shè)置;例如,在視頻編碼器26發(fā)送了 30個P巾貞將發(fā)送一個關(guān)鍵巾貞,而在接收到30個P巾貞卻未收到一個關(guān)鍵巾貞值時,則判斷數(shù)據(jù)包有丟失。而所述接收時間的門限值根據(jù)所述視頻編碼器26編制關(guān)鍵幀的間隔時間設(shè)置。例如,接收10個關(guān)鍵幀的時間為10秒,而接收10個關(guān)鍵幀的時間卻需要15秒,則說明數(shù)據(jù)包有丟失。參見圖4,在本發(fā)明的第六實(shí)施例中,所述判斷子模塊11還包括:接收單元114,設(shè)置于所述視頻通話的發(fā)送端,用于接收所述接收端報告;第三判斷單元115,用于根據(jù)所述接收端報告以及上一次接收到的所述接收端報告判斷所述數(shù)據(jù)包的丟失是否超過所述接收數(shù)據(jù)包數(shù)目的門限值,若是則判斷所述數(shù)據(jù)包丟失。在該實(shí)施例中,由視頻通話的雙方,即接收端和發(fā)送端共同判斷數(shù)據(jù)包是否發(fā)送丟失。具體的,接收單元114在接收所述接收端報告后由第三判斷單元115根據(jù)所述接收端報告以及上一次接收到的所述接收端報告判斷所述數(shù)據(jù)包的丟失是否超過所述接收數(shù)據(jù)包數(shù)目的門限值,若兩者比較值超過了所述接收數(shù)據(jù)包數(shù)目的門限值,判斷數(shù)據(jù)包有發(fā)送丟失。參見圖4,在本發(fā)明的第七實(shí)施例中,所述控制模塊20包括:通知子模塊25,設(shè)置于所述發(fā)送端,用在判斷子模塊11判斷所述數(shù)據(jù)包丟失時,通知所述視頻編碼器26編制關(guān)鍵幀;視頻編碼器26,用于編制關(guān)鍵幀后,將所述關(guān)鍵幀發(fā)送到所述視頻通話的接收端。在該實(shí)施例中,發(fā)送RR給發(fā)送端接收端報告,發(fā)送端接收到該信息后,判斷丟包數(shù)有增加后,則通知子模塊25通知視頻編碼器26編制關(guān)鍵幀;并將編制關(guān)鍵幀后發(fā)送到所述視頻通話的接收端。由此,使視頻通話質(zhì)量獲得提高。在上述多個實(shí)施例中,視頻通話質(zhì)量優(yōu)化的系統(tǒng)100系統(tǒng)可以是內(nèi)置于通信終端的軟件單元,硬件單元或軟硬件結(jié)合單元。通信終端可以是手機(jī)、PDA (Personal DigitalAssistant,個人數(shù)字助理)、平板電腦等。參見圖5,在本發(fā)明的第八實(shí)施例中,提供了一種視頻通話質(zhì)量優(yōu)化的方法,包括如下步驟:步驟S501中,檢測視頻通話中關(guān)鍵幀丟失情況的發(fā)生;該步驟由檢測模塊10實(shí)現(xiàn);步驟S502中,根據(jù)當(dāng)前所述視頻通話的網(wǎng)絡(luò)狀況,控制所述關(guān)鍵幀的發(fā)送;該步驟由控制模塊20實(shí)現(xiàn)。
在該實(shí)施例中,首先通過檢測模塊10對視頻通話中關(guān)鍵幀丟失情況進(jìn)行檢測,若發(fā)現(xiàn)關(guān)鍵幀有丟失,則由控制模塊20根據(jù)當(dāng)前所述視頻通話的網(wǎng)絡(luò)狀況,控制所述關(guān)鍵幀的發(fā)送,以根據(jù)當(dāng)前的網(wǎng)絡(luò)狀況,優(yōu)化視頻通話的質(zhì)量。在本發(fā)明的第九實(shí)施例中,所述步驟S501之前包括:預(yù)設(shè)視頻接收實(shí)時傳輸控制協(xié)議端口的接收數(shù)據(jù)包數(shù)目的門限值和/或接收時間的門限值;該步驟由預(yù)設(shè)模塊30實(shí)現(xiàn)。預(yù)設(shè)在所述視頻通話中發(fā)送所述關(guān)鍵幀的網(wǎng)絡(luò)傳輸速率的閾值;該步驟由預(yù)設(shè)模塊30實(shí)現(xiàn)。所述步驟S501包括:視頻通話雙方根據(jù)所述接收數(shù)據(jù)包數(shù)目的門限值和/或接收時間的門限值判斷所述數(shù)據(jù)包是否有丟失;該步驟由判斷子模塊11實(shí)現(xiàn)。若判斷所述數(shù)據(jù)包有丟失,則檢測到所述視頻通話中關(guān)鍵幀丟失情況的發(fā)生。在該實(shí)施例中,用戶可以預(yù)先設(shè)置判斷關(guān)鍵幀是否丟失的相關(guān)參數(shù),以及可以進(jìn)行視頻通話的網(wǎng)絡(luò)傳輸速率參考值,根據(jù)可以值可以控制視頻通話優(yōu)質(zhì)進(jìn)行。在該實(shí)施例中,首先預(yù)設(shè)視頻接收實(shí)時傳輸控制協(xié)議端口的接收數(shù)據(jù)包數(shù)目的門限值和/或接收時間的門限值,由這兩個門限值作為參考標(biāo)準(zhǔn)對視頻通話中是否發(fā)送數(shù)據(jù)包丟失進(jìn)行判斷。在判斷所述數(shù)據(jù)包有丟失,則視頻編碼器26編制關(guān)鍵幀,并將所述關(guān)鍵幀發(fā)送到所述視頻通話的接收端,由此,優(yōu)化了視頻通話的質(zhì)量。在本發(fā)明的第十實(shí)施例中,所述步驟S502包括:統(tǒng)計當(dāng)前所述視頻通話中的網(wǎng)絡(luò)傳輸速率;該步驟由統(tǒng)計子模塊21實(shí)現(xiàn);在所述網(wǎng)絡(luò)傳輸速率達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,視頻編碼器26編制關(guān)鍵幀,并將所述關(guān)鍵幀發(fā)送到所述視頻通話的接收端;該步驟由第一控制子模塊22實(shí)現(xiàn);或者在所述網(wǎng)絡(luò)傳輸速率未達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,停止發(fā)送關(guān)鍵幀,并向所述接收端發(fā)送第一控制幀,請求所述接收端停止發(fā)送關(guān)鍵幀;該步驟由第二控制子模塊23實(shí)現(xiàn)。所述接收端接收到所述第一控制幀后,停止發(fā)送關(guān)鍵幀。在本發(fā)明的第十一實(shí)施例中,所述步驟S502還包括:在統(tǒng)計當(dāng)前所述視頻通話中的網(wǎng)絡(luò)傳輸速率重新達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,視頻編碼器26編制關(guān)鍵幀,并將所述關(guān)鍵幀發(fā)送到所述視頻通話的所述接收端;向所述接收端發(fā)送第二控制幀,請求所述接收端恢復(fù)發(fā)送關(guān)鍵幀;該步驟由第三控制子模塊24實(shí)現(xiàn)。所述接收端接收到所述第二控制幀后,恢復(fù)發(fā)送關(guān)鍵幀。在上述兩個實(shí)施例中,通過具體的網(wǎng)絡(luò)速率對丟失關(guān)鍵幀的情況下,控制關(guān)鍵幀的發(fā)送,優(yōu)化了視頻通話的質(zhì)量。在本發(fā)明的第十二實(shí)施例中,所述步驟S502包括:視頻通話的接收端判斷接收到的數(shù)據(jù)包的數(shù)目是否達(dá)到所述接收數(shù)據(jù)包數(shù)目的門限值;若未達(dá)到所述接收數(shù)據(jù)包數(shù)目的門限值,則判斷所述數(shù)據(jù)包發(fā)生丟失,并向所述視頻通話的發(fā)送端發(fā)送接收端報告;該步驟由第一判斷單元111和發(fā)送單元113實(shí)現(xiàn)。若達(dá)到所述接收數(shù)據(jù)包數(shù)目的門限值,則進(jìn)一步判斷接收所述數(shù)據(jù)包的時間是否達(dá)到所述接收時間的門限值,若未達(dá)到則判斷所述數(shù)據(jù)包發(fā)生丟失,并向所述視頻通話的發(fā)送端發(fā)送接收端報告;該步驟由第二判斷單元112和發(fā)送單元113實(shí)現(xiàn)。在該實(shí)施例中,具體的在視頻通話的接收端判斷數(shù)據(jù)包是否有丟失,若有則通知視頻通話發(fā)送端,視頻通話發(fā)送端控制視頻編碼器26編制關(guān)鍵幀后發(fā)送到接收端,優(yōu)化了視頻通話質(zhì)量。 在本發(fā)明的第十三實(shí)施例中,在所述并向所述視頻通話的發(fā)送端發(fā)送接收端報告的步驟之后還包括:所述視頻通話的發(fā)送端接收所述接收端報告,根據(jù)所述接收端報告以及上一次接收到的所述接收端報告判斷所述數(shù)據(jù)包的丟失是否超過所述接收數(shù)據(jù)包數(shù)目的門限值,若是則判斷所述數(shù)據(jù)包丟失。該步驟由接收單元114和第三判斷單元115實(shí)現(xiàn)。在該實(shí)施例中,在視頻通話接收端判斷數(shù)據(jù)包有丟失情況的發(fā)生后,由視頻通話的發(fā)送端進(jìn)一步判斷數(shù)據(jù)包是否有丟失發(fā)送。具體的通過對比兩次接收端返回的報告進(jìn)行判斷,若兩次報告中數(shù)據(jù)包的差值超過接收數(shù)據(jù)包數(shù)目的門限值則判斷所述數(shù)據(jù)包丟失。則由所述視頻編碼器26編制關(guān)鍵幀后,將所述關(guān)鍵幀發(fā)送到所述視頻通話的接收端。所述步驟S303包括:在所述發(fā)送端判斷所述數(shù)據(jù)包丟失時,所述發(fā)送端通知所述視頻編碼器26編制關(guān)鍵幀;該步驟由通知子模塊25實(shí)現(xiàn);所述視頻編碼器26編制關(guān)鍵幀后,將所述關(guān)鍵幀發(fā)送到所述視頻通話的接收端。參見圖6A和圖6B,在本發(fā)明的一個實(shí)施例中提供了視頻通話優(yōu)化的方法,該實(shí)施例中,根據(jù)視頻通道RTCP接收到的SR,判斷是否有丟包,如果有丟包則通知視頻編碼器26強(qiáng)制編關(guān)鍵幀并發(fā)送給對端,以提高視頻質(zhì)量。其中圖6A是視頻通話接收端的工作流程,描述如下:步驟S601中,視頻電話啟動;步驟S602中,設(shè)置數(shù)據(jù)包數(shù)門限及時間門限;步驟S603中,判斷是否達(dá)到數(shù)據(jù)包數(shù)門限值,是則執(zhí)行步驟S604,否則執(zhí)行步驟S605 ;步驟S604中,判斷是否達(dá)到接收數(shù)據(jù)包的時間門限值,是則執(zhí)行步驟S606,否則返回步驟S603 ;步驟S605中,發(fā)送RR。步驟S606中,判斷是否接收到BYE,即結(jié)束視頻通話指令,是則結(jié)束視頻通話,否則返回步驟S603。圖6B是視頻通話發(fā)送端的工作流程,描述如下:步驟S701中,視頻電話啟動;步驟S702中,準(zhǔn)備接收SR ;步驟S703中,判斷是否接收到SR,是則執(zhí)行步驟S704,否則返回步驟S702 ;步驟S704中,判斷與上次接收到的值比較,丟包數(shù)及丟字節(jié)數(shù)大于所述接收數(shù)據(jù)包門限值,是則執(zhí)行步驟S705,否則返回步驟S702 ;步驟S705中,通知視頻編碼器26編制關(guān)鍵幀并發(fā)送;
步驟S706中,是否接收到BYE,即結(jié)束視頻通話指令,是則結(jié)束視頻通話,否則返回步驟S702。優(yōu)選的,在上述多個實(shí)施例中,所述關(guān)鍵幀為I幀。綜上所述,本發(fā)明通過檢測視頻通話中關(guān)鍵幀丟失情況的發(fā)生;根據(jù)當(dāng)前所述視頻通話的網(wǎng)絡(luò)狀況,控制所述關(guān)鍵幀的發(fā)送。避免了在發(fā)生關(guān)鍵幀丟失情況的下,并且網(wǎng)絡(luò)傳輸數(shù)據(jù)的速率比較低時,視頻通話雙方卻依然發(fā)送關(guān)鍵幀,造成視頻通話網(wǎng)絡(luò)傳輸通道的擁塞從而導(dǎo)致視頻通話質(zhì)量變得更差的情況發(fā)生。由此,優(yōu)化了視頻通話的質(zhì)量,提升了用戶體驗。當(dāng)然,本發(fā)明還可有其它多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種視頻通話質(zhì)量優(yōu)化的方法,其特征在于,包括如下步驟: 檢測視頻通話中關(guān)鍵幀丟失情況的發(fā)生; 根據(jù)當(dāng)前所述視頻通話的網(wǎng)絡(luò)狀況,控制所述關(guān)鍵幀的發(fā)送。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述檢測視頻通話中關(guān)鍵幀丟失情況的發(fā)生的步驟之前包括: 預(yù)設(shè)視頻接收實(shí)時傳輸控制協(xié)議端口的接收數(shù)據(jù)包數(shù)目的門限值和/或接收時間的門限值; 預(yù)設(shè)在所述視頻通話中發(fā)送所述關(guān)鍵幀的網(wǎng)絡(luò)傳輸速率的閾值; 所述檢測視頻通話中關(guān)鍵幀丟失情況的發(fā)生的步驟包括: 視頻通話雙方根據(jù)所述接收數(shù)據(jù)包數(shù)目的門限值和/或接收時間的門限值判斷所述數(shù)據(jù)包是否有丟失; 若判斷所述數(shù)據(jù)包有丟失,則檢測到所述視頻通話中關(guān)鍵幀丟失情況的發(fā)生。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)當(dāng)前所述視頻通話的網(wǎng)絡(luò)狀況,控制所述關(guān)鍵幀的發(fā)送的步驟包括: 統(tǒng)計當(dāng)前所述視頻通話中的網(wǎng)絡(luò)傳輸速率; 在所述網(wǎng)絡(luò)傳輸速率達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,視頻編碼器編制關(guān)鍵幀,并將所述關(guān)鍵幀發(fā)送到所述視頻通話的接收端;或者 在所述網(wǎng)絡(luò)傳輸速率未達(dá) 到所述網(wǎng)絡(luò)傳輸速率的閾值時,停止發(fā)送關(guān)鍵幀,并向所述接收端發(fā)送第一控制幀,請求所述接收端停止發(fā)送關(guān)鍵幀; 所述接收端接收到所述第一控制幀后,停止發(fā)送關(guān)鍵幀。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)當(dāng)前所述視頻通話的網(wǎng)絡(luò)狀況,控制所述關(guān)鍵幀的發(fā)送的步驟還包括: 在統(tǒng)計當(dāng)前所述視頻通話中的網(wǎng)絡(luò)傳輸速率重新達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,視頻編碼器編制關(guān)鍵幀,并將所述關(guān)鍵幀發(fā)送到所述視頻通話的所述接收端;向所述接收端發(fā)送第二控制幀,請求所述接收端恢復(fù)發(fā)送關(guān)鍵幀; 所述接收端接收到所述第二控制幀后,恢復(fù)發(fā)送關(guān)鍵幀。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述視頻通話雙方根據(jù)所述接收數(shù)據(jù)包數(shù)目的門限值和/或接收時間的門限值判斷所述數(shù)據(jù)包是否有丟失的步驟包括: 視頻通話的接收端判斷接收到的數(shù)據(jù)包的數(shù)目是否達(dá)到所述接收數(shù)據(jù)包數(shù)目的門限值; 若未達(dá)到所述接收數(shù)據(jù)包數(shù)目的門限值,則判斷所述數(shù)據(jù)包發(fā)生丟失,并向所述視頻通話的發(fā)送端發(fā)送接收端報告; 若達(dá)到所述接收數(shù)據(jù)包數(shù)目的門限值,則判斷接收所述數(shù)據(jù)包的時間是否達(dá)到所述接收時間的門限值,若未達(dá)到則判斷所述數(shù)據(jù)包發(fā)生丟失,并向所述視頻通話的發(fā)送端發(fā)送接收端報告;和/或 所述視頻通話的發(fā)送端接收所述接收端報告,根據(jù)所述接收端報告以及上一次接收到的所述接收端報告判斷所述數(shù)據(jù)包的丟失是否超過所述接收數(shù)據(jù)包數(shù)目的門限值,若是則判斷所述數(shù)據(jù)包丟失。
6.一種視頻通話質(zhì)量優(yōu)化的系統(tǒng),其特征在于,包括:檢測模塊,用于檢測視頻通話中關(guān)鍵幀丟失情況的發(fā)生; 控制模塊,用于根據(jù)當(dāng)前所述視頻通話的網(wǎng)絡(luò)狀況,控制所述關(guān)鍵幀的發(fā)送。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 預(yù)設(shè)模塊,用于預(yù)設(shè)視頻接收實(shí)時傳輸控制協(xié)議端口的接收數(shù)據(jù)包數(shù)目的門限值和/或接收時間的門限值;以及在所述視頻通話中發(fā)送所述關(guān)鍵幀的網(wǎng)絡(luò)傳輸速率的閾值;所述檢測模塊包括: 判斷子模塊,用于根據(jù)所述接收數(shù)據(jù)包數(shù)目的門限值和/或接收時間的門限值判斷所述數(shù)據(jù)包是否有丟失; 若判斷所述數(shù)據(jù)包有丟失,則所述檢測模塊檢測到所述視頻通話中關(guān)鍵幀丟失情況的發(fā)生。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述控制模塊包括: 統(tǒng)計子模塊,用于統(tǒng)計當(dāng)前所述視頻通話中的網(wǎng)絡(luò)傳輸速率; 第一控制子模塊,用于在所述網(wǎng)絡(luò)傳輸速率達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,控制視頻編碼器編制關(guān)鍵幀,并將所述關(guān)鍵幀發(fā)送到所述視頻通話的接收端;或者 第二控制子模塊,用于在所述網(wǎng)絡(luò)傳輸速率未達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,控制所述視頻通話的發(fā)送端停止發(fā)送關(guān)鍵幀,并向所述接收端發(fā)送第一控制幀,請求所述接收端停止發(fā)送關(guān)鍵幀; 所述接收端接收到所 述第一控制幀后,停止發(fā)送關(guān)鍵幀。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述控制模塊還包括: 第三控制子模塊,用于在統(tǒng)計子模塊統(tǒng)計當(dāng)前所述視頻通話中的網(wǎng)絡(luò)傳輸速率重新達(dá)到所述網(wǎng)絡(luò)傳輸速率的閾值時,控制視頻編碼器編制關(guān)鍵幀,并將所述關(guān)鍵幀發(fā)送到所述視頻通話的所述接收端;以及 向所述接收端發(fā)送第二控制幀,請求所述接收端恢復(fù)發(fā)送關(guān)鍵幀; 所述接收端接收到所述第二控制幀后,恢復(fù)發(fā)送關(guān)鍵幀。
10.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述判斷子模塊包括: 第一判斷單元,設(shè)置于所述視頻通話的接收端,用于判斷接收到的數(shù)據(jù)包的數(shù)目是否達(dá)到所述接收數(shù)據(jù)包數(shù)目的門限值;若未達(dá)到所述接收數(shù)據(jù)包數(shù)目的門限值,則所述第一判斷單元判斷所述數(shù)據(jù)包發(fā)生丟失; 第二判斷單元,設(shè)置于所述視頻通話的接收端,用于判斷接收所述數(shù)據(jù)包的時間是否達(dá)到所述接收時間的門限值;若未達(dá)到所述接收時間的門限值,則所述第二判斷單元判斷所述數(shù)據(jù)包發(fā)生丟失; 發(fā)送單元,用于在所述第一判斷單元和/或第二判斷單元判斷所述數(shù)據(jù)包發(fā)生丟失時,向所述視頻通話的發(fā)送端發(fā)送接收端報告;和/或 接收單元,設(shè)置于所述視頻通話的發(fā)送端,用于接收所述接收端報告; 第三判斷單元,用于根據(jù)所述接收端報告以及上一次接收到的所述接收端報告判斷所述數(shù)據(jù)包的丟失是否超過所述接收數(shù)據(jù)包數(shù)目的門限值,若是則判斷所述數(shù)據(jù)包丟失。
全文摘要
本發(fā)明適用于通信技術(shù)領(lǐng)域,提供了一種視頻通話質(zhì)量優(yōu)化的方法及其系統(tǒng),包括如下步驟檢測視頻通話中關(guān)鍵幀丟失情況的發(fā)生;根據(jù)當(dāng)前所述視頻通話的網(wǎng)絡(luò)狀況,控制所述關(guān)鍵幀的發(fā)送。借此,本發(fā)明優(yōu)化了視頻通話的質(zhì)量。
文檔編號H04N7/26GK103152544SQ20131003505
公開日2013年6月12日 申請日期2013年1月29日 優(yōu)先權(quán)日2013年1月29日
發(fā)明者劉靈新, 李靜 申請人:東莞宇龍通信科技有限公司, 宇龍計算機(jī)通信科技(深圳)有限公司