本發(fā)明涉及視頻技術(shù)領(lǐng)域,尤其涉及一種視頻編碼碼率調(diào)整方法及系統(tǒng)。
背景技術(shù):
網(wǎng)絡(luò)視頻服務(wù)中,不同檔次視頻碼率的設(shè)定對視頻應(yīng)用系統(tǒng)的參與各方都有較大影響。例如,視頻內(nèi)容提供方、視頻服務(wù)提供方和終端用戶。視頻內(nèi)容提供方希望視頻質(zhì)量清晰且消耗帶寬成本較少,而終端用戶希望在已有的網(wǎng)絡(luò)帶寬資源下獲取較好的視頻觀看體驗。因此,為了同時滿足視頻內(nèi)容提供商和終端用戶的需求視頻服務(wù)提供方提供了多種不同視頻碼率的視頻,例如,流暢、標(biāo)清、高清、超清、藍(lán)光等。
然而,發(fā)明人在實現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),隨著互聯(lián)網(wǎng)基礎(chǔ)設(shè)施的不斷發(fā)展,終端用戶的可用帶寬在不斷提升的。例如,原來終端用戶的可用帶寬可能只有2M、4M、10M等,但是現(xiàn)在終端用戶的可用帶寬可能是20M、50M、100M等。因此,采用針對于原來的終端用戶的可用帶寬所提供的流暢(采用保證能夠在2M帶寬時順暢播放的視頻編碼碼率)、標(biāo)清(采用保證能夠在4M帶寬時順暢播放的視頻編碼碼率)、高清(采用保證能夠在10M帶寬時順暢播放的視頻編碼碼率)等不同清晰度的視頻編碼碼率所編碼得到的視頻,一方面不能匹配與用戶的實際可用帶寬造成帶寬資源的浪費,另一方面也不能夠滿足終端用戶對視頻清晰度的需求。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種視頻編碼碼率調(diào)整方法及系統(tǒng),用于至少解決現(xiàn)有技術(shù)中不同清晰度視頻碼率與用戶實際可用帶寬不匹配的技術(shù)問題。
第一方面,本發(fā)明實施例提供一種視頻編碼碼率調(diào)整方法,其包括:根據(jù)用戶觀看多種不同清晰度視頻的歷史觀看記錄確定用戶的可用帶寬分布,所述多種不同清晰度視頻對應(yīng)于多種原視頻編碼碼率;根據(jù)所述可用帶寬分布調(diào)整所述多種原視頻編碼碼率至適于所述用戶的可用帶寬的新的視頻編碼碼率。
第一方面,本發(fā)明實施例提供一種視頻編碼碼率調(diào)整系統(tǒng),其包括:
可用帶寬分布確定模塊,用于根據(jù)用戶觀看多種不同清晰度視頻的歷史觀看記錄確定用戶的可用帶寬分布,所述多種不同清晰度視頻對應(yīng)于多種原視頻編碼碼率;
視頻編碼碼率調(diào)整模塊,用于至少根據(jù)所述可用帶寬分布調(diào)整所述多種原視頻編碼碼率至適于所述用戶的可用帶寬的新的視頻編碼碼率。
第三方面,本發(fā)明實施例提供一種非易失性計算機可讀存儲介質(zhì),所述存儲介質(zhì)中存儲有一個或多個包括執(zhí)行指令的程序,所述執(zhí)行指令能夠被電子設(shè)備(包括但不限于計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)讀取并執(zhí)行,以用于執(zhí)行本發(fā)明上述任一項視頻編碼碼率調(diào)整方法。
第四方面,提供一種電子設(shè)備,其包括:至少一個處理器,以及與所述至少一個處理器通信連接的存儲器,其中,所述存儲器存儲有可被所述至少一個處理器執(zhí)行的指令,所述指令被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠執(zhí)行本發(fā)明上述任一項視頻編碼碼率調(diào)整方法。
第五方面,本發(fā)明實施例還提供一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括存儲在非易失性計算機可讀存儲介質(zhì)上的計算程序,所述計算機程序包括程序指令,當(dāng)所述程序指令被計算機執(zhí)行時,使所述計算機執(zhí)行上述任一項視頻編碼碼率調(diào)整方法。
本發(fā)明實施例的視頻編碼碼率調(diào)整方法及系統(tǒng)通過對用戶觀看不同清晰度視頻(對應(yīng)于不同的視頻編碼碼率)的歷史觀看記錄來確定用戶的可用帶寬分布,然后再根據(jù)用戶實際的可用帶寬分布來調(diào)整用于編碼視頻的視頻編碼碼率,使得調(diào)整后的視頻編碼碼率更加適于用戶實際的可用帶寬。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明的視頻編碼碼率調(diào)整方法一實施例的流程圖;
圖2為圖1中步驟S11的一實施方式的流程圖;
圖3為圖1中步驟S12的一實施方式的流程圖;
圖4為圖1中步驟S12的另一實施方式的流程圖;
圖5為擬合曲線示意圖;
圖6為用戶密度分布曲線示意圖;
圖7為本發(fā)明的視頻編碼碼率調(diào)整系統(tǒng)一實施例的結(jié)構(gòu)框圖;
圖8為本發(fā)明的視頻編碼碼率調(diào)整系統(tǒng)中的可用帶寬分布確定模塊一實施例的結(jié)構(gòu)框圖;
圖9為本發(fā)明的視頻編碼碼率調(diào)整系統(tǒng)中的視頻編碼碼率調(diào)整模塊的一實施例的結(jié)構(gòu)框圖;
圖10為本發(fā)明的視頻編碼碼率調(diào)整系統(tǒng)中的視頻編碼碼率調(diào)整模塊的另一實施例的結(jié)構(gòu)框圖;
圖11為本發(fā)明的電子設(shè)備的一實施例的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
本發(fā)明可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、元件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本發(fā)明,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機存儲介質(zhì)中。
在本發(fā)明中,“模塊”、“裝置”、“系統(tǒng)”等等指應(yīng)用于計算機的相關(guān)實體,如硬件、硬件和軟件的組合、軟件或執(zhí)行中的軟件等。詳細(xì)地說,例如,元件可以、但不限于是運行于處理器的過程、處理器、對象、可執(zhí)行元件、執(zhí)行線程、程序和/或計算機。還有,運行于服務(wù)器上的應(yīng)用程序或腳本程序、服務(wù)器都可以是元件。一個或多個元件可在執(zhí)行的過程和/或線程中,并且元件可以在一臺計算機上本地化和/或分布在兩臺或多臺計算機之間,并可以由各種計算機可讀介質(zhì)運行。元件還可以根據(jù)具有一個或多個數(shù)據(jù)包的信號,例如,來自一個與本地系統(tǒng)、分布式系統(tǒng)中另一元件交互的,和/或在因特網(wǎng)的網(wǎng)絡(luò)通過信號與其它系統(tǒng)交互的數(shù)據(jù)的信號通過本地和/或遠(yuǎn)程過程來進(jìn)行通信。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”,不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
如圖1所示,本發(fā)明的一實施例的視頻編碼碼率調(diào)整方法,包括:
S11、根據(jù)用戶觀看多種不同清晰度視頻的歷史觀看記錄確定用戶的可用帶寬分布,所述多種不同清晰度視頻對應(yīng)于多種原視頻編碼碼率;
S12、根據(jù)所述可用帶寬分布調(diào)整所述多種原視頻編碼碼率至適于所述用戶的可用帶寬的新的視頻編碼碼率。
本實施例的視頻編碼碼率調(diào)整方法通過對用戶觀看不同清晰度視頻(對應(yīng)于不同的視頻編碼碼率)的歷史觀看記錄來確定用戶的可用帶寬分布,然后再根據(jù)用戶實際的可用帶寬分布來調(diào)整用于編碼視頻的視頻編碼碼率,使得調(diào)整后的視頻編碼碼率更加適于用戶實際的可用帶寬。
上述實施例中步驟S11的歷史觀看記錄為用戶在預(yù)定時間段內(nèi)所觀看不同清晰度視頻的記錄,并且不同清晰度視頻至少包括流暢、普清、高清、超清、藍(lán)光等多種清晰度的視頻。每一種清晰度視頻都具有相應(yīng)的原視頻編碼碼率。因此,通過步驟S11中的歷史觀看記錄可以確定用戶觀看不同清晰度視頻的用戶的分布情況,根據(jù)用戶觀看不同清晰度視頻的分布情況又能夠反應(yīng)出用戶的可用帶寬分布(因為用戶所選擇觀看的必然是與自己可用帶寬相匹配的清晰度的視頻)。上述步驟S12中,當(dāng)可用帶寬分布表明某一清晰度視頻(例如,普清)觀看人數(shù)為零或者非常少,而高于所述某一清晰度的另一清晰度視頻(例如,高清)的觀看人數(shù)較多時,則表明用戶的可用帶寬有所提升并主要集中在了所述另一清晰度視頻,因此可以將用于編碼所述某一清晰度視頻的視頻編碼碼率提升至介于原始編碼碼率和所述另一清晰度視頻的原始編碼碼率之間的碼率值。
如圖2所示,在一些實施例中,所述根據(jù)用戶觀看多種不同清晰度視頻的歷史觀看記錄確定用戶的可用帶寬分布包括:
S21、根據(jù)用戶觀看多種不同清晰度視頻的歷史觀看記錄確定用戶觀看所述多種不同清晰度視頻中的任意一種的占比值;
S22、根據(jù)所述占比值確定用戶觀看某一清晰度視頻的累積占比值,所述累積占比值為所述某一清晰度視頻所對應(yīng)的占比值以及低于所述某一清晰度視頻的視頻所對應(yīng)的占比值的累積和;
S23、根據(jù)所述多種不同清晰度視頻和相對應(yīng)的累積占比值確定一條反應(yīng)所述用戶的可用帶寬分布的擬合曲線,所述擬合曲線的橫坐標(biāo)為視頻編碼碼率,縱坐標(biāo)為累積占比值。
本實施例中用戶觀看多種不同清晰度視頻的歷史觀看記錄為多個用戶觀看不同清晰度視頻的歷史記錄,并且所述歷史記錄可以是用戶觀看不同清晰度視頻的次數(shù)和/或總時長。例如,用戶在預(yù)定時間段內(nèi)觀看不同清晰度視的總次數(shù)為100次,其中觀看流暢視頻的次數(shù)為1次,觀看普清視頻的次數(shù)為30次,觀看高清視頻的次數(shù)為40次,觀看超清視頻的次數(shù)為28次,觀看藍(lán)光視頻的次數(shù)為1次。或者,用戶在預(yù)定時間段內(nèi)觀看不同清晰度視頻的總時長為100個小時,其中觀看流暢視頻的時長為1小時,觀看普清視頻的時長為30小時,觀看高清視頻的時長為40小時,觀看超清視頻的時長為28小時,觀看藍(lán)光視頻的時長為1小時。
步驟S21中的占比值可以是用戶觀看相應(yīng)清晰度視頻的次數(shù)和/或時長,也可以是用戶觀看相應(yīng)清晰度視頻的次數(shù)占觀看所有清晰度視頻的總次數(shù)的比例/或用戶觀看相應(yīng)清晰度視頻的時長占觀看所有清晰度視頻的總時長的比例。
步驟S22中根據(jù)步驟S21中統(tǒng)計得到的對應(yīng)于每一種原編碼碼率的占比值確定出用戶觀看某一原編碼碼率視頻的占比值以及觀看小于所述某一原編碼碼率的視頻的占比值的累積和為累積占比值。
在步驟S23中,將用戶所觀看的不同清晰度視頻的原編碼碼率作為橫坐標(biāo),并將相對應(yīng)的累積占比值作為縱坐標(biāo)的點描在坐標(biāo)系中。然后根據(jù)所得的多個點確定出一條通過坐標(biāo)原點的擬合曲線(如圖5所示)以用于反應(yīng)用戶的可用帶寬分布。
本實施例通過用戶的歷史觀看記錄確定出擬合曲線的方式,不但能夠從擬合曲線中確定出用戶在離散的原視頻編碼碼率(例如,分別對應(yīng)于流暢、普清、高清、超清、藍(lán)光等清晰度視頻的原視頻編碼碼率)處的分布情況,還能夠反應(yīng)出介于每兩種相鄰的原視頻編碼碼率之間(例如,分別對應(yīng)于普清和高清的兩種清晰度視頻的原視頻編碼碼率之間)的用戶的帶寬分布。因此,本實施例能夠更加精確的反映出用戶的可用帶寬分布情況。
如圖3所示,在一些實施例中,所述根據(jù)所述可用帶寬分布調(diào)整所述多種原視頻編碼碼率至適于所述用戶的可用帶寬的新的視頻編碼碼率包括:
S31、對所述擬合曲線求導(dǎo)數(shù)以確定可用帶寬上的用戶密度分布曲線;
S32、為所述多種原視頻編碼碼率中的每一種配置多個備選視頻編碼碼率以確定多個備選視頻編碼碼率組,所述多個備選視頻編碼碼率大于和/或小于所對應(yīng)的原視頻編碼碼率,所述多個備選視頻編碼碼率組對應(yīng)于不同清晰度視頻;
S33、依次從所述多個備選視頻編碼碼率組的每一組中任意選擇一個視頻編碼碼率以構(gòu)成多套編碼碼率;
S34、根據(jù)所述用戶密度分布曲線和所述多套編碼碼率計算多個數(shù)據(jù)流量值;
S35、將所述多種原視頻編碼碼率調(diào)整至所述多個數(shù)據(jù)流量值中的最小值所對應(yīng)的一套編碼碼率。
本實施例中通過量化的方法確定出了多組可用于當(dāng)前不同清晰度編碼的視頻編碼碼率,并進(jìn)一步通過最小化數(shù)據(jù)流量的方法確定出了成本最低的一組用于編碼不同清晰度視頻的視頻編碼碼率。因此,本實施例的方法盡可能的降低了視頻提供商的成本。
步驟S31中對圖5所示的擬合曲線求導(dǎo)得到圖6所示的用戶密度分布曲線。
步驟S32中將多個備選視頻編碼碼率的大小設(shè)置為大于和/或小于所對應(yīng)的原視頻編碼碼率,所述多個備選視頻編碼碼率組對應(yīng)于不同清晰度視頻。本實施例中,可以取大于和/或小于原視頻編碼碼率±5%、±10%和±15%處的碼率為多個備選視頻編碼碼率。其中,大于原視頻編碼碼率的備選視頻編碼碼率可以更好的匹配用戶可用帶寬的不斷提升。但是,發(fā)明人在實踐中發(fā)現(xiàn),雖然隨著互聯(lián)網(wǎng)基礎(chǔ)設(shè)施的不斷發(fā)展,網(wǎng)絡(luò)運營商為用戶所提供的帶寬越來越大,但是還存在著多個用戶共用同一賬戶的情況,這時每一個用戶得到的可用帶寬可能比原來的可用帶寬還要小。因此,本實施例中還將小于對應(yīng)的原視頻編碼碼率的視頻編碼碼率設(shè)置為備選視頻編碼碼率。
步驟S33中依次從所述多個備選視頻編碼碼率組的每一組中任意選擇一個視頻編碼碼率以構(gòu)成多套編碼碼率。例如,當(dāng)存在三種不同清晰度視頻時,則相應(yīng)的存在有三組備選視頻編碼碼率組,這時步驟S43從三組備選視頻編碼碼率組中的每一組中任意選擇一個構(gòu)成多套編碼碼率。如果每一個備選視頻編碼碼率組中包括三個備選碼率值,則可以得到3×3×3=27套編碼碼率。
步驟S34中根據(jù)所述用戶密度分布曲線和所述多套編碼碼率計算多個數(shù)據(jù)流量值。例如,根據(jù)步驟S33中確定的27套編碼碼率計算出27個數(shù)據(jù)流量值。再由步驟S35確定27個數(shù)據(jù)流量值中選出最小值,并將所述多種原視頻編碼碼率調(diào)整至所述最小值所對應(yīng)的一套編碼碼率。
如圖4所示,在一些實施例中,所述根據(jù)所述可用帶寬分布調(diào)整所述多種原視頻編碼碼率至適于所述用戶的可用帶寬的新的視頻編碼碼率包括:
S41、對所述擬合曲線求導(dǎo)數(shù)以確定可用帶寬上的用戶密度分布曲線;
S42、為所述多種原視頻編碼碼率中的每一種配置多個備選視頻編碼碼率以確定多個備選視頻編碼碼率組,所述多個備選視頻編碼碼率大于和/或小于所對應(yīng)的原視頻編碼碼率,所述多個備選視頻編碼碼率組對應(yīng)于不同清晰度視頻;
S43、依次從所述多個備選視頻編碼碼率組的每一組中任意選擇一個視頻編碼碼率以構(gòu)成多套編碼碼率;
S44、根據(jù)所述用戶密度分布曲線和多套編碼碼率計算多個視頻質(zhì)量效用值;
S45、根據(jù)所述用戶密度分布曲線和預(yù)定數(shù)量的視頻質(zhì)量效用值所對應(yīng)的多套編碼碼率計算多個數(shù)據(jù)流量值,所述預(yù)定數(shù)量的視頻質(zhì)量效用值為從所述多個視頻質(zhì)量效用值中從大到小順序選擇的預(yù)訂數(shù)量個值;
S46、將所述多種原視頻編碼碼率調(diào)整至所述多個數(shù)據(jù)流量值中的最小值所對應(yīng)的一套編碼碼率。
本實施例的方法與圖3所示實施例的方法的區(qū)別在于,本實施例在最小化數(shù)據(jù)流量,將成本降到最低之前還考慮到了用戶對視頻質(zhì)量的要求。通過步驟S44采用計算得到的多套編碼碼率和用戶密度分布曲線計算出了用戶觀看采用每一套編碼碼率得到的不同清晰度視頻的視頻質(zhì)量效用值。然后在步驟S45中采用視頻質(zhì)量效用值較高的多個值所對應(yīng)的多套編碼碼率來進(jìn)一步的確定出成本最低的一套編碼碼率。因此,本實施例的方法不僅降低了視頻提供商的成本,還能夠更加匹配具有不同可用帶寬的終端用戶對不同清晰度視頻的需求。
本實施例根據(jù)用戶的觀看統(tǒng)計,指導(dǎo)各個檔次(各個清晰度)碼率的設(shè)定和自適應(yīng)調(diào)整,以在降低視頻內(nèi)容提供商的成本和提升對終端用戶所提供視頻的質(zhì)量上取得平衡。
本發(fā)明的另一具體實施例包括以下部分:
1、根據(jù)用戶的觀看統(tǒng)計預(yù)估用戶的可用帶寬分布。
將視頻所分檔次的個數(shù)記為N,現(xiàn)行各個檔次的碼率記為
每個終端用戶觀看視頻時是以自己的可用帶寬為依據(jù)的,選擇能流暢播放的最清晰檔次的視頻。某個時間段內(nèi)(比如一周)各個檔次視頻被觀看的統(tǒng)計數(shù)據(jù)為這意味著可用帶寬不足的用戶都選擇碼率為檔次的視頻,且該統(tǒng)計量為可用帶寬為大于或等于并且小于或等于的用戶都選擇碼率為檔次的視頻,且該統(tǒng)計量為依次類推,直到可用帶寬大于或等于的用戶都選擇碼率為檔次的視頻,且統(tǒng)計數(shù)量為
各個檔次觀看統(tǒng)計數(shù)量所占百分比為各個檔次處的累積百分比記為Pic i∈[1,N],可將其描點到坐標(biāo)圖中,其中坐標(biāo)處對應(yīng)的值為P1c,坐標(biāo)處對應(yīng)的值為依次類推;并最終將所有描點擬合到一個過原點的多項式函數(shù)。如圖5所示,擬合后的函數(shù)為f(r)。
對f(r)求導(dǎo)得f′(r),一個示意曲線如圖6所示,其代表的含義為各個用戶可用帶寬上的用戶密度,或者說f′(r)曲線、x軸以及任意兩個可用帶寬豎線圍成的面積表示這個兩個可用帶寬區(qū)間的用戶所占比例。
2、根據(jù)用戶可用帶寬分布調(diào)整各檔次碼率。
不同檔次的視頻碼率設(shè)置到不同的值,就會產(chǎn)生不同的用戶觀看體驗。針對一批有代表性的序列,在現(xiàn)行碼率(即,原視頻編碼碼率)以及現(xiàn)行碼率基礎(chǔ)上調(diào)整±5%、±10%和±15%碼率處,這些備選碼率和現(xiàn)行碼率綜合起來備選,并被記為分別測定這批代表序列的觀看體驗的平均值Vi,j i∈[1,N],j∈[-3,3],具體的測定可以用主觀測試的方式或者為了簡化也可直接用客觀指標(biāo)PSNR(Peak Signal to Noise Ratio,峰值信噪比)等。
各檔次的目標(biāo)碼率的組合共有7N個,且某個目標(biāo)碼率組合被記為對7N個組合分別計算對應(yīng)的總效用如下所示:
其中Vi是某檔次處7個備選碼率之一對應(yīng)的觀看效用。
從計算出的7N個Vtotal值中選出較大的5個效用和值,記為[Vm0,Vm1,Vm2,Vm3,Vm4],其中Vm0最大,依次降低,并且各自對應(yīng)一組備選編碼碼率。此外,如果某效用和Vm,i,比Vm,i+1高出的比例大于某個百分比閾值δ(如3%),則備選碼率的范圍縮小到效用和[Vm0,Vm1,...,Vm,i]對應(yīng)的備選編碼碼率。
再從[Vm0,Vm1,...,Vm,i]對應(yīng)的備選碼率中挑出能使視頻內(nèi)容提供商成本最低的編碼碼率作為調(diào)整后的編碼碼率。此處的成本最低可以通過最小化用戶請求總流量來表征。而各個備選編碼碼率下,總流量Ctotal可以按下式計算:
其中為某檔次處7個備選碼率之一。
需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作合并,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
在上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
如圖7所示,本發(fā)明實施例還提供一種視頻編碼碼率調(diào)整系統(tǒng)700,包括:
可用帶寬分布確定模塊710,用于根據(jù)用戶觀看多種不同清晰度視頻的歷史觀看記錄確定用戶的可用帶寬分布,所述多種不同清晰度視頻對應(yīng)于多種原視頻編碼碼率;
視頻編碼碼率調(diào)整模塊720,用于至少根據(jù)所述可用帶寬分布調(diào)整所述多種原視頻編碼碼率至適于所述用戶的可用帶寬的新的視頻編碼碼率。
本實施例的視頻編碼碼率調(diào)整方法通過對用戶觀看不同清晰度視頻(對應(yīng)于不同的視頻編碼碼率)的歷史觀看記錄來確定用戶的可用帶寬分布,然后再根據(jù)用戶實際的可用帶寬分布來調(diào)整用于編碼視頻的視頻編碼碼率,使得調(diào)整后的視頻編碼碼率更加適于用戶實際的可用帶寬。
如圖8所示,在一些實施例中,所述可用帶寬分布確定模塊710包括:
用戶觀看視頻統(tǒng)計單元711,用于根據(jù)用戶觀看多種不同清晰度視頻的歷史觀看記錄確定用戶觀看所述多種不同清晰度視頻中的任意一種的占比值;
累積占比值確定單元712,用于根據(jù)所述占比值確定用戶觀看某一清晰度視頻的累積占比值,所述累積占比值為所述某一清晰度視頻所對應(yīng)的占比值以及低于所述某一清晰度視頻的視頻所對應(yīng)的占比值的累積和;
擬合曲線確定單元713,用于根據(jù)所述多種不同清晰度視頻和相對應(yīng)的累積占比值確定一條反應(yīng)所述用戶的可用帶寬分布的擬合曲線,所述擬合曲線的橫坐標(biāo)為視頻編碼碼率,縱坐標(biāo)為累積占比值。
如圖9所示,在一些實施例中,所述視頻編碼碼率調(diào)整模塊720包括:
擬合曲線求導(dǎo)單元721,用于對所述擬合曲線求導(dǎo)數(shù)以確定可用帶寬上的用戶密度分布曲線;
備選視頻編碼碼率組確定單元722,用于為所述多種原視頻編碼碼率中的每一種配置多個備選視頻編碼碼率以確定多個備選視頻編碼碼率組,所述多個備選視頻編碼碼率大于和/或小于所對應(yīng)的原視頻編碼碼率,所述多個備選視頻編碼碼率組對應(yīng)于不同清晰度視頻;
編碼碼率確定單元723,用于依次從所述多個備選視頻編碼碼率組的每一組中任意選擇一個視頻編碼碼率以構(gòu)成多套編碼碼率;
數(shù)據(jù)流量值計算單元724,用于根據(jù)所述用戶密度分布曲線和所述多套編碼碼率計算多個數(shù)據(jù)流量值;
編碼碼率調(diào)單元725,用于將所述多種原視頻編碼碼率調(diào)整至所述多個數(shù)據(jù)流量值中的最小值所對應(yīng)的一套編碼碼率。
如圖10所示,在一些實施例中,所述視頻編碼碼率調(diào)整模塊720包括:
擬合曲線求導(dǎo)單元721′,用于對所述擬合曲線求導(dǎo)數(shù)以確定可用帶寬上的用戶密度分布曲線;
備選視頻編碼碼率組確定單元722′,用于為所述多種原視頻編碼碼率中的每一種配置多個備選視頻編碼碼率以確定多個備選視頻編碼碼率組,所述多個備選視頻編碼碼率大于和/或小于所對應(yīng)的原視頻編碼碼率,所述多個備選視頻編碼碼率組對應(yīng)于不同清晰度視頻;
編碼碼率確定單元723′,用于依次從所述多個備選視頻編碼碼率組的每一組中任意選擇一個視頻編碼碼率以構(gòu)成多套編碼碼率;
視頻質(zhì)量效用值計算單元724′,用于根據(jù)所述用戶密度分布曲線和多套編碼碼率計算多個視頻質(zhì)量效用值;
數(shù)據(jù)流量值計算單元725′,用于根據(jù)所述用戶密度分布曲線和預(yù)定數(shù)量的視頻質(zhì)量效用值所對應(yīng)的多套編碼碼率計算多個數(shù)據(jù)流量值,所述預(yù)定數(shù)量的視頻質(zhì)量效用值為從所述多個視頻質(zhì)量效用值中從大到小順序選擇的預(yù)訂數(shù)量個值;
編碼碼率調(diào)單元726′,用于將所述多種原視頻編碼碼率調(diào)整至所述多個數(shù)據(jù)流量值中的最小值所對應(yīng)的一套編碼碼率。
上述本發(fā)明實施例的視頻編碼碼率調(diào)整系統(tǒng)可用于執(zhí)行本發(fā)明實施例的視頻編碼碼率調(diào)整方法,并相應(yīng)的達(dá)到上述本發(fā)明實施例的視頻編碼碼率調(diào)整方法所達(dá)到的技術(shù)效果,這里不再贅述。
本發(fā)明實施例中可以通過硬件處理器(hardware processor)來實現(xiàn)相關(guān)功能模塊。
另一方面,本發(fā)明實施例提供一種非易失性計算機可讀存儲介質(zhì),所述存儲介質(zhì)中存儲有一個或多個包括執(zhí)行指令的程序,所述執(zhí)行指令能夠被電子設(shè)備(包括但不限于計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)讀取并執(zhí)行,以用于執(zhí)行上述方法實施例中的相關(guān)步驟,例如:根據(jù)用戶觀看多種不同清晰度視頻的歷史觀看記錄確定用戶的可用帶寬分布,所述多種不同清晰度視頻對應(yīng)于多種原視頻編碼碼率;根據(jù)所述可用帶寬分布調(diào)整所述多種原視頻編碼碼率至適于所述用戶的可用帶寬的新的視頻編碼碼率。
另一方面,本發(fā)明實施例還公開一種電子設(shè)備,該電子設(shè)備包括:
至少一個存儲器,用于存放計算機操作指令;
至少一個處理器,用于執(zhí)行所述存儲器存儲的計算機操作指令,以執(zhí)行上述方法實施例中的相關(guān)步驟,例如:根據(jù)用戶觀看多種不同清晰度視頻的歷史觀看記錄確定用戶的可用帶寬分布,所述多種不同清晰度視頻對應(yīng)于多種原視頻編碼碼率;根據(jù)所述可用帶寬分布調(diào)整所述多種原視頻編碼碼率至適于所述用戶的可用帶寬的新的視頻編碼碼率。
圖11是本申請另一實施例提供的執(zhí)行視頻編碼碼率調(diào)整方法的電子設(shè)備的硬件結(jié)構(gòu)示意圖,如圖11所示,該設(shè)備包括:
一個或多個處理器1110以及存儲器1120,圖11中以一個處理器1110為例。
執(zhí)行視頻編碼碼率調(diào)整方法的設(shè)備還可以包括:輸入裝置1130和輸出裝置1140。
處理器1110、存儲器1120、輸入裝置1130和輸出裝置1140可以通過總線或者其他方式連接,圖11中以通過總線連接為例。
存儲器1120作為一種非易失性計算機可讀存儲介質(zhì),可用于存儲非易失性軟件程序、非易失性計算機可執(zhí)行程序以及模塊,如本申請實施例中的視頻編碼碼率調(diào)整方法對應(yīng)的程序指令/模塊。處理器1110通過運行存儲在存儲器1120中的非易失性軟件程序、指令以及模塊,從而執(zhí)行服務(wù)器的各種功能應(yīng)用以及數(shù)據(jù)處理,即實現(xiàn)上述方法實施例視頻編碼碼率調(diào)整方法。
存儲器1120可以包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需要的應(yīng)用程序;存儲數(shù)據(jù)區(qū)可存儲根據(jù)視頻編碼碼率調(diào)整裝置的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲器1120可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他非易失性固態(tài)存儲器件。在一些實施例中,存儲器1120可選包括相對于處理器1110遠(yuǎn)程設(shè)置的存儲器,這些遠(yuǎn)程存儲器可以通過網(wǎng)絡(luò)連接至視頻編碼碼率調(diào)整裝置。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。
輸入裝置1130可接收輸入的數(shù)字或字符信息,以及產(chǎn)生與視頻編碼碼率調(diào)整裝置的用戶設(shè)置以及功能控制有關(guān)的鍵信號輸入。輸出裝置1140可包括顯示屏等顯示設(shè)備。
所述一個或者多個模塊存儲在所述存儲器1120中,當(dāng)被所述一個或者多個處理器1110執(zhí)行時,執(zhí)行上述任意方法實施例中的視頻編碼碼率調(diào)整方法。
上述產(chǎn)品可執(zhí)行本申請實施例所提供的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。未在本實施例中詳盡描述的技術(shù)細(xì)節(jié),可參見本申請實施例所提供的方法。
以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助軟件加通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對相關(guān)技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
最后應(yīng)說明的是:以上實施例僅用以說明本申請的技術(shù)方案,而非對其限制;盡管參照前述實施例對本申請進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本申請各實施例技術(shù)方案的精神和范圍。