本發(fā)明涉及通信領(lǐng)域,特別涉及一種調(diào)整視頻碼率的方法及電子設(shè)備。
背景技術(shù):
近年來(lái),基于http的動(dòng)態(tài)自適應(yīng)流傳遞(dynamicadaptivestreamingoverhttp,dash)得到廣泛應(yīng)用,以便向具有動(dòng)態(tài)網(wǎng)絡(luò)條件和異構(gòu)裝置的用戶(hù)提供不中斷的視頻流傳遞服務(wù)。動(dòng)態(tài)碼率自適應(yīng)是dash的最重要特征之一,這是因?yàn)樗軌蜃詣?dòng)向用戶(hù)提供最大可能質(zhì)量的視頻。
在沒(méi)有高效碼率自適應(yīng)算法的情況下,dash客戶(hù)端可能遭受頻繁的中斷以及非最佳的視覺(jué)質(zhì)量。目前存在一些有關(guān)dash的碼率自適應(yīng)的方案,例如基于帶寬的碼率自適應(yīng)方案和基于緩沖區(qū)的碼率自適應(yīng)方案。
最近,馬爾科夫理論已經(jīng)被證明可有效用于分析視頻流傳遞系統(tǒng)的動(dòng)態(tài)特性,使得它是用于碼率自適應(yīng)的有用方案。例如,碼率控制問(wèn)題通過(guò)隨機(jī)動(dòng)態(tài)規(guī)劃(sdp)來(lái)解決。但是,該方案沒(méi)有充分考慮客戶(hù)端緩沖區(qū)的平滑性和動(dòng)態(tài)特性。此外,所有這些方案中定義的獎(jiǎng)勵(lì)函數(shù)均不能反映與長(zhǎng)期碼率切換相比,用戶(hù)對(duì)頻繁的短期碼率波動(dòng)更敏感。最后,現(xiàn)有方案通常依靠單個(gè)獎(jiǎng)勵(lì)機(jī)制用于整個(gè)流傳遞會(huì)話,使得視覺(jué)質(zhì)量不令人滿(mǎn)意,這是因?yàn)橛脩?hù)對(duì)視覺(jué)質(zhì)量的關(guān)注點(diǎn)在不同流傳遞情況下通常是不同的。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種調(diào)整視頻碼率的方法、電子設(shè)備及系統(tǒng),以便提高視頻流的質(zhì)量。
根據(jù)本發(fā)明的第一方面,提供了一種調(diào)整視頻碼率的方法,所述方法包括:
從服務(wù)器下載多個(gè)碼率版本的視頻片段中的一個(gè)碼率版本;
獲取當(dāng)前狀態(tài),所述當(dāng)前狀態(tài)包括緩沖視頻片段時(shí)長(zhǎng)、緩沖視頻片段時(shí)長(zhǎng)的變化率、歷史視頻片段碼率向量、視頻片段碼率一致性函數(shù)以及帶寬;以及
根據(jù)所述當(dāng)前狀態(tài),確定隨后視頻片段的最佳請(qǐng)求碼率。
結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述當(dāng)前狀態(tài),確定隨后視頻片段的最佳請(qǐng)求碼率包括:
根據(jù)所述當(dāng)前狀態(tài)和隨后視頻片段的可選碼率,獲取隨后狀態(tài)以及隨后狀態(tài)對(duì)應(yīng)的轉(zhuǎn)移概率;
根據(jù)所述隨后狀態(tài),計(jì)算所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù);
根據(jù)所述隨后狀態(tài)、所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)以及轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù);以及
確定使得所述長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)最大化的隨后視頻片段的碼率為所述隨后視頻片段的最佳請(qǐng)求碼率。
結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)是分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì)的加權(quán)平均。
結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述隨后狀態(tài),計(jì)算所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)包括:
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)高于高緩沖區(qū)閾值,則根據(jù)第一公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì);
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)低于低緩沖區(qū)閾值,則根據(jù)第二公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì);
否則,根據(jù)第三公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì)。
結(jié)合第一方面的第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,根據(jù)所述隨后狀態(tài)、所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)以及轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)包括:
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)高于高緩沖區(qū)閾值或者低于低緩沖區(qū)閾值,則根據(jù)下一隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)及其轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù);
否則,根據(jù)下一隨后狀態(tài)以及再下一隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)以及這兩個(gè)隨后狀態(tài)對(duì)應(yīng)的轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)。
結(jié)合第一方面到第一方面的第四種可能的實(shí)現(xiàn)方式中的任一實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述方法還包括:
根據(jù)所述確定的隨后視頻片段的最佳請(qǐng)求碼率,請(qǐng)求下載隨后視頻片段。
結(jié)合第一方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中
所述方法重復(fù)執(zhí)行直到視頻片段序列下載結(jié)束。
結(jié)合第一方面到第一方面的第四種可能的實(shí)現(xiàn)方式中的任一實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,
所述服務(wù)器是dash服務(wù)器。
根據(jù)本發(fā)明的第二方面,提供了一種電子設(shè)備,所述電子設(shè)備包括:
下載模塊,用于從服務(wù)器下載多個(gè)碼率版本的視頻片段中的一個(gè)碼率版本;
當(dāng)前狀態(tài)獲取模塊,用于獲取當(dāng)前狀態(tài),所述當(dāng)前狀態(tài)包括緩沖視頻片段時(shí)長(zhǎng)、緩沖視頻片段時(shí)長(zhǎng)的變化率、歷史視頻片段碼率向量、視頻片段碼率一致性函數(shù)以及帶寬;以及
最佳請(qǐng)求碼率確定模塊,用于根據(jù)所述當(dāng)前狀態(tài),確定隨后視頻片段的最佳請(qǐng)求碼率。
結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,所述最佳請(qǐng)求碼率確定模塊包括:
隨后狀態(tài)獲取模塊,用于根據(jù)所述當(dāng)前狀態(tài)和隨后視頻片段的可選碼率,獲取隨后狀態(tài)以及隨后狀態(tài)對(duì)應(yīng)的轉(zhuǎn)移概率;
獎(jiǎng)勵(lì)函數(shù)計(jì)算模塊,用于根據(jù)所述隨后狀態(tài),計(jì)算所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù);
長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)計(jì)算模塊,用于根據(jù)所述隨后狀態(tài)、所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)以及轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù);以及
獎(jiǎng)勵(lì)最大化模塊,用于確定使得所述長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)最大化的隨后視頻片段的碼率為所述隨后視頻片段的最佳請(qǐng)求碼率。
結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,
所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)是分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì)的加權(quán)平均。
結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述獎(jiǎng)勵(lì)函數(shù)計(jì)算模塊具體用于:
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)高于高緩沖區(qū)閾值,則根據(jù)第一公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì);
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)低于低緩沖區(qū)閾值,則根據(jù)第二公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì);
否則,根據(jù)第三公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì)。
結(jié)合第二方面的第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)計(jì)算模塊具體用于:
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)高于高緩沖區(qū)閾值或者低于低緩沖區(qū)閾值,則根據(jù)下一隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)及其轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù);
否則,根據(jù)下一隨后狀態(tài)以及再下一隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)以及這兩個(gè)隨后狀態(tài)對(duì)應(yīng)的轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)。
結(jié)合第二方面到第二方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述電子設(shè)備還包括:
請(qǐng)求模塊,用于根據(jù)所述確定的隨后視頻片段的最佳請(qǐng)求碼率,請(qǐng)求下載隨后視頻片段。
結(jié)合第二方面到第二方面的第四種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,
所述服務(wù)器是dash服務(wù)器。
根據(jù)第三方面,提供了一種電子設(shè)備,該電子設(shè)備包括存儲(chǔ)器、發(fā)送/接收模塊以及與存儲(chǔ)器、發(fā)送/接收模塊連接的處理器,其中存儲(chǔ)器存儲(chǔ)有一組程序代碼,處理器調(diào)用存儲(chǔ)器存儲(chǔ)的程序代碼用于執(zhí)行以下步驟:
從服務(wù)器下載多個(gè)碼率版本的視頻片段中的一個(gè)碼率版本;
獲取當(dāng)前狀態(tài),所述當(dāng)前狀態(tài)包括緩沖視頻片段時(shí)長(zhǎng)、緩沖視頻片段時(shí)長(zhǎng)的變化率、歷史視頻片段碼率向量、視頻片段碼率一致性函數(shù)以及帶寬;以及
根據(jù)所述當(dāng)前狀態(tài),確定隨后視頻片段的最佳請(qǐng)求碼率。
結(jié)合第三方面,在第一種可能的實(shí)現(xiàn)方式中,處理器調(diào)用存儲(chǔ)器存儲(chǔ)的程序代碼用于執(zhí)行以下步驟:
根據(jù)所述當(dāng)前狀態(tài)和隨后視頻片段的可選碼率,獲取隨后狀態(tài)以及隨后狀態(tài)對(duì)應(yīng)的轉(zhuǎn)移概率;
根據(jù)所述隨后狀態(tài),計(jì)算所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù);
根據(jù)所述隨后狀態(tài)、所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)以及轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù);以及
確定使得所述長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)最大化的隨后視頻片段的碼率為所述隨后視頻片段的最佳請(qǐng)求碼率。
結(jié)合第三方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)可以是分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì)的加權(quán)平均。
結(jié)合第三方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,處理器調(diào)用存儲(chǔ)器存儲(chǔ)的程序代碼用于執(zhí)行以下步驟:
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)高于高緩沖區(qū)閾值,則根據(jù)第一公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì);
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)低于低緩沖區(qū)閾值,則根據(jù)第二公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì);
否則,根據(jù)第三公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì)。
結(jié)合第三方面的第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,處理器調(diào)用存儲(chǔ)器存儲(chǔ)的程序代碼用于執(zhí)行以下步驟:
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)高于高緩沖區(qū)閾值或者低于低緩沖區(qū)閾值,則根據(jù)下一隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)及其轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù);
否則,根據(jù)下一隨后狀態(tài)以及再下一隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)以及這兩個(gè)隨后狀態(tài)對(duì)應(yīng)的轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)。
結(jié)合第三方面到第三方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,處理器調(diào)用存儲(chǔ)器存儲(chǔ)的程序代碼用于執(zhí)行以下步驟:
根據(jù)所述確定的隨后視頻片段的最佳請(qǐng)求碼率,請(qǐng)求下載隨后視頻片段。
結(jié)合第三方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,處理器調(diào)用存儲(chǔ)器存儲(chǔ)的程序代碼用于執(zhí)行以下步驟:重復(fù)執(zhí)行上述步驟直到視頻片段序列下載結(jié)束。
結(jié)合第三方面到第三方面的第四種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,所述服務(wù)器是dash服務(wù)器。
本發(fā)明實(shí)施例提供了一種調(diào)整視頻碼率的方法及電子設(shè)備。通過(guò)考慮緩沖視頻片段時(shí)長(zhǎng)、緩沖視頻片段時(shí)長(zhǎng)的變化率、歷史視頻片段碼率向量、視頻片段碼率一致性函數(shù)以及帶寬等狀態(tài)參數(shù),并根據(jù)這些參數(shù)來(lái)確定隨后視頻片段的最佳請(qǐng)求碼率,可以更好地反映主觀和客觀的視覺(jué)質(zhì)量。通過(guò)根據(jù)緩沖視頻片段時(shí)長(zhǎng)來(lái)計(jì)算獎(jiǎng)勵(lì)函數(shù),使得獎(jiǎng)勵(lì)函數(shù)對(duì)于不同的緩沖區(qū)占用場(chǎng)景是動(dòng)態(tài)變化的。通過(guò)采用次優(yōu)算法,降低了計(jì)算復(fù)雜度,提高了計(jì)算效率。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1示出了dash系統(tǒng)的結(jié)構(gòu)示意圖;
圖2示出了服務(wù)器與客戶(hù)端之間的dash內(nèi)容傳輸流程圖;
圖3示出了根據(jù)本發(fā)明實(shí)施例的一種調(diào)整視頻碼率的方法流程圖;
圖4示出了根據(jù)本發(fā)明實(shí)施例的根據(jù)當(dāng)前狀態(tài),確定隨后視頻片段的最佳請(qǐng)求碼率的方法流程圖;
圖5示出了根據(jù)本發(fā)明實(shí)施例的一種電子設(shè)備的結(jié)構(gòu)示意圖;
圖6示出了根據(jù)本發(fā)明實(shí)施例的一種電子設(shè)備的結(jié)構(gòu)示意圖;
圖7示出了根據(jù)本發(fā)明實(shí)施例的調(diào)整視頻碼率的方法與其他現(xiàn)有方法之間的比較結(jié)果;
圖8示出了根據(jù)本發(fā)明實(shí)施例的調(diào)整視頻碼率的方法與其他現(xiàn)有方法的mos性能。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供了一種調(diào)整視頻碼率的方法。該方法能夠應(yīng)用于dash客戶(hù)端,以便提高視頻流的用戶(hù)體驗(yàn)。下面將以dash系統(tǒng)為例來(lái)描述本發(fā)明實(shí)施例,但是本領(lǐng)域普通技術(shù)人員能夠明了dash系統(tǒng)僅是示例性的,該方法也可以應(yīng)用于其他方面,本發(fā)明實(shí)施例對(duì)此不加以限定。
圖1示出了dash系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示,dash系統(tǒng)10包括dash服務(wù)器102和dash客戶(hù)端104,其中dash服務(wù)器102和dash客戶(hù)端104通過(guò)網(wǎng)絡(luò)進(jìn)行連接。dash服務(wù)器102管理dash媒體內(nèi)容并響應(yīng)dash客戶(hù)端104的http媒體服務(wù)請(qǐng)求。dash客戶(hù)端104負(fù)責(zé)以http協(xié)議與dash服務(wù)器102交互,獲取與解析媒體表示描述(mediapresentationdescription,mpd)文件,構(gòu)建與管理媒體文件下載請(qǐng)求,解碼與輸出媒體內(nèi)容。
圖2示出了服務(wù)器與客戶(hù)端之間的dash內(nèi)容傳輸流程。首先,媒體內(nèi)容部署在服務(wù)器上,按內(nèi)容的存儲(chǔ)方式分為mpd與媒體片段文件兩部分。當(dāng)用戶(hù)發(fā)起內(nèi)容播放請(qǐng)求時(shí),客戶(hù)端首先向服務(wù)器請(qǐng)求、下載與解析mpd文件,獲取節(jié)目碼率等信息,然后根據(jù)實(shí)際的網(wǎng)絡(luò)帶寬情況向服務(wù)器請(qǐng)求某種碼率的媒體片段文件。在視頻的播放過(guò)程中,客戶(hù)端會(huì)根據(jù)帶寬情況選擇不同碼率的媒體片段以實(shí)現(xiàn)自適應(yīng)切換。
現(xiàn)在參照?qǐng)D3,示出了根據(jù)本發(fā)明實(shí)施例的調(diào)整視頻碼率的方法。該方法可包括以下步驟:
302:從服務(wù)器下載多個(gè)碼率版本的視頻片段中的一個(gè)碼率版本。
具體的,服務(wù)器可以是dash服務(wù)器,并且下載一個(gè)碼率版本的視頻片段可以是通過(guò)http協(xié)議進(jìn)行下載。
當(dāng)然服務(wù)器也可以是其他類(lèi)型的服務(wù)器,本發(fā)明實(shí)施例對(duì)此不加以限定。
304:獲取當(dāng)前狀態(tài),所述當(dāng)前狀態(tài)包括緩沖視頻片段時(shí)長(zhǎng)、緩沖視頻片段時(shí)長(zhǎng)的變化率、歷史視頻片段碼率向量、視頻片段碼率一致性函數(shù)以及帶寬。
具體的,為了考慮用戶(hù)體驗(yàn)質(zhì)量,可以定義狀態(tài)向量以描述當(dāng)前狀態(tài),狀態(tài)向量可以包括緩沖視頻片段時(shí)長(zhǎng)、緩沖視頻片段時(shí)長(zhǎng)的變化率、歷史視頻片段碼率向量、視頻片段碼率一致性函數(shù)以及帶寬。
以當(dāng)前視頻片段為第k片段作為例子,其對(duì)應(yīng)的第k階段的當(dāng)前狀態(tài)uk被定義為uk=(qk,q'k,vk,λk,bk),其中,qk是片段k已經(jīng)被完全下載后的緩沖視頻時(shí)長(zhǎng),q'k是當(dāng)下載片段k時(shí)的緩沖視頻時(shí)長(zhǎng)的平均變化率,vk=[vk-n+1,vk-n+2,…vk-1,vk]是最近n個(gè)片段的1×n視頻碼率向量,以及vk是片段k的視頻碼率,bk是下載先前片段期間的平均帶寬,其也用作下載片段k+1的估計(jì)可用帶寬,以及λk是視頻碼率一致性函數(shù),其中λk=1表示所有最近n個(gè)片段具有相同視頻碼率,否則λk=0。
306:根據(jù)所述當(dāng)前狀態(tài),確定隨后視頻片段的最佳請(qǐng)求碼率。
通過(guò)考慮上述五個(gè)狀態(tài)參數(shù),充分考慮了視頻碼率的平滑性,從而使得確定的隨后視頻片段的最佳請(qǐng)求碼率對(duì)于用戶(hù)體驗(yàn)更佳。
具體的,參照?qǐng)D4,步驟306可以包括以下步驟:
3061:根據(jù)所述當(dāng)前狀態(tài)和隨后視頻片段的可選碼率,獲取隨后狀態(tài)以及隨后狀態(tài)對(duì)應(yīng)的轉(zhuǎn)移概率。
a.緩沖視頻時(shí)長(zhǎng)模型
在本發(fā)明實(shí)施例中,視頻片段k+1的可選碼率可稱(chēng)為動(dòng)作αk。通過(guò)狀態(tài)uk,由動(dòng)作αk確定用于片段k+1的視頻碼率,即,vk+1=αk(uk)。
在本發(fā)明實(shí)施例中,我們使用緩沖視頻時(shí)長(zhǎng)來(lái)估量視頻播放緩沖區(qū)的長(zhǎng)度(即,緩沖區(qū)占用率),這是因?yàn)橐曨l緩沖區(qū)包含來(lái)自不同版本的視頻片段,并且在緩沖視頻大小和緩沖視頻時(shí)長(zhǎng)之間不再有直接映射。
緩沖視頻時(shí)長(zhǎng)過(guò)程表示為q(t)。為了不失一般性,假設(shè)客戶(hù)端在時(shí)刻
其中,t是每個(gè)片段以秒為單位的長(zhǎng)度。對(duì)于緩沖區(qū)占用率的變化率,可以采用流體逼近,流體逼近將增加的視頻時(shí)間均勻分布在整個(gè)片段的下載間隔內(nèi),則對(duì)于
b.視頻碼率切換模型
根據(jù)上述系統(tǒng)演進(jìn)和狀態(tài)定義,片段k+1的視頻碼率可由關(guān)聯(lián)狀態(tài)和動(dòng)作確定,如下所示:
vk+1=ak(uk)(3)
因此,給定狀態(tài)uk和動(dòng)作αk,可以如下所示更新視頻碼率向量和視頻碼率一致性函數(shù):
vk+1=[vk-n+2,vk-n+3,…,vk,ak(uk)](4)
其中,在狀態(tài)uk中給出vk-n+2,vk-n+3,…vk。
c.信道模型
接著可以使用異構(gòu)和時(shí)變馬爾科夫模型來(lái)估計(jì)未來(lái)帶寬。首先,將帶寬劃分成若干區(qū)域。對(duì)于每個(gè)區(qū)域,帶寬值被量化為它的中值并且它表示馬爾科夫信道模型的狀態(tài)。假設(shè)存在c個(gè)狀態(tài),即帶寬被劃分為c個(gè)區(qū)域,則使用轉(zhuǎn)移矩陣
d.轉(zhuǎn)移概率
系統(tǒng)狀態(tài)之間的轉(zhuǎn)移概率的集合可以用于為系統(tǒng)演進(jìn)建模。對(duì)于動(dòng)作αk,由于系統(tǒng)參數(shù)彼此獨(dú)立,所以從狀態(tài)uk到狀態(tài)uk+1的轉(zhuǎn)移概率能夠表示為:
其中能夠通過(guò)公式1和2獲取有關(guān)緩沖區(qū)占用率的第一項(xiàng)和第二項(xiàng),能夠通過(guò)公式3到5獲取有關(guān)視頻碼率的第三項(xiàng)和第四項(xiàng),以及根據(jù)c中的馬爾科夫信道模型得出最后一項(xiàng)。
3062:根據(jù)所述隨后狀態(tài),計(jì)算所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)。
在本發(fā)明實(shí)施例中,我們提出了獎(jiǎng)勵(lì)函數(shù)以估量動(dòng)作的好的程度。當(dāng)我們選擇動(dòng)作(即,要被請(qǐng)求的視頻片段的碼率)時(shí),我們需要考慮影響用戶(hù)體驗(yàn)的質(zhì)量的因素,例如視頻播放指令,視頻碼率切換頻率以及幅度,緩沖區(qū)溢出/下溢,以及緩沖區(qū)占用率。
對(duì)于視頻播放質(zhì)量,視頻碼率切換頻率和幅度,與最近n-1個(gè)片段和片段k+1關(guān)聯(lián)的平均視頻碼率mk和視頻碼率的時(shí)域方差σk可以用于估量第k階段的獎(jiǎng)勵(lì),以及這兩個(gè)因素的關(guān)聯(lián)獎(jiǎng)勵(lì)可分別表示為
最后,通過(guò)考慮上述所有因素,用于狀態(tài)uk的動(dòng)作ak的獎(jiǎng)勵(lì)可以被定義為:
其中,參數(shù)a,b,c,d用于對(duì)四個(gè)因素進(jìn)行適當(dāng)加權(quán),其中a+b+c+d=1,以及可以基于特定應(yīng)用和實(shí)現(xiàn)特性來(lái)選擇這些參數(shù)的值。
具體的,所述根據(jù)所述隨后狀態(tài),計(jì)算所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)可包括:
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)高于高緩沖區(qū)閾值,則根據(jù)第一公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用關(guān)聯(lián)的獎(jiǎng)勵(lì);
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)低于低緩沖區(qū)閾值,則根據(jù)第二公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用關(guān)聯(lián)的獎(jiǎng)勵(lì);
否則,根據(jù)第三公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用關(guān)聯(lián)的獎(jiǎng)勵(lì)。
在下面,我們將在上面提到的三個(gè)場(chǎng)景中得出
a.緩沖區(qū)溢出控制
可以定義兩個(gè)緩沖區(qū)閾值qhigh和qlow,分別表示緩沖區(qū)溢出閾值和緩沖區(qū)下溢閾值。當(dāng)
其中,ε是小正數(shù),其中ε>1。
另一方面,當(dāng)采取動(dòng)作以提高緩沖區(qū)占用率時(shí),為了避免緩沖區(qū)溢出,提高后的緩沖區(qū)占用率不應(yīng)高于qhigh。為了達(dá)到該目的,可以通過(guò)pd控制器對(duì)于碼率進(jìn)行控制。因此,
以及可以通過(guò)與緩沖區(qū)溢出的邊界qhigh的間隔來(lái)估量緩沖區(qū)占用率的獎(jiǎng)勵(lì):
b.緩沖區(qū)下溢控制
當(dāng)
c.平滑碼率控制
當(dāng)
此外,理想情況是將緩沖區(qū)占用率保持在兩個(gè)緩沖區(qū)閾值的中間以便有效避免緩沖區(qū)溢出/下溢。因此,緩沖區(qū)占用率的獎(jiǎng)勵(lì)可以定義為:
3063:根據(jù)所述隨后狀態(tài)、所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)以及轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)。
我們定義ψ為流傳遞策略,具體定義為在每個(gè)階段的可能動(dòng)作的映射。隨后,在策略ψ下的長(zhǎng)期獎(jiǎng)勵(lì)
其中,γ∈[0,1]是反映未來(lái)獎(jiǎng)勵(lì)的當(dāng)前值的折扣參數(shù),其中小γ導(dǎo)致“近視”演進(jìn),意味著不太看重未來(lái)獎(jiǎng)勵(lì),而大γ導(dǎo)致“遠(yuǎn)視”演進(jìn),意味著比較看重未來(lái)獎(jiǎng)勵(lì)。
我們的目標(biāo)是找到最大化視頻流傳遞期間的獎(jiǎng)勵(lì)的最佳策略ψ*。為此,視頻碼率自適應(yīng)過(guò)程能夠?qū)懗梢韵伦顑?yōu)化問(wèn)題:
直接求解公式(17)可能有若干挑戰(zhàn),為此我們提出了次優(yōu)算法,通過(guò)設(shè)置小搜索深度d,使得:
當(dāng)緩沖區(qū)占用率過(guò)高或過(guò)低時(shí),我們進(jìn)行動(dòng)作決策而不考慮任何未來(lái)狀態(tài),因?yàn)橛写蟾怕示彌_區(qū)溢出/下溢可能很快發(fā)生。否則,考慮一個(gè)另外的未來(lái)狀態(tài),因?yàn)橛凶銐驎r(shí)間搜索更深深度來(lái)獲得更佳結(jié)果。
具體的,根據(jù)所述隨后狀態(tài)、所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)以及轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)可包括:
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)高于高緩沖區(qū)閾值或者低于低緩沖區(qū)閾值,則根據(jù)下一隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)及其轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù);
否則,根據(jù)下一隨后狀態(tài)以及再下一隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)以及這兩個(gè)隨后狀態(tài)對(duì)應(yīng)的轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)。
通過(guò)上述算法,公式(16)可轉(zhuǎn)變成如下所示:
通過(guò)該次優(yōu)算法,降低了計(jì)算復(fù)雜度,減少了計(jì)算時(shí)間,從而有助于在例如智能手機(jī)等設(shè)備中的實(shí)時(shí)實(shí)現(xiàn)。
3064:確定使得所述長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)最大化的隨后視頻片段的碼率為所述隨后視頻片段的最佳請(qǐng)求碼率。
通過(guò)求解上述公式(17),可以確定隨后視頻片段的最佳請(qǐng)求碼率。
參照回圖3,可選的,該方法還可包括以下步驟:
308:根據(jù)所述確定的隨后視頻片段的最佳請(qǐng)求碼率,請(qǐng)求下載隨后視頻片段。
可選的,步驟302-308可重復(fù)執(zhí)行,直到服務(wù)器中的視頻片段序列下載完畢為止。
實(shí)驗(yàn)
我們?cè)谡鎸?shí)互聯(lián)網(wǎng)中評(píng)估碼率自適應(yīng)算法。另外,也評(píng)估所接收視頻的主觀質(zhì)量。在我們的實(shí)驗(yàn)中,服務(wù)器提供五個(gè)不同版本的視頻碼率:300kbps,700kbps,1500kbps,2500kbps,3500kbps。每個(gè)視頻被分成具有2s長(zhǎng)度的長(zhǎng)度相同的小視頻片段??紤]到啟動(dòng)裝置的延遲,存儲(chǔ)和處理容量,緩沖區(qū)大小設(shè)置成30s,qmin=5s以及qmax=25s。對(duì)于性能比較,除了我們提出的方法(稱(chēng)為mdash),我們還實(shí)現(xiàn)了典型的基于緩沖區(qū)的碼率自適應(yīng)方案(稱(chēng)為bufdash)和基于sdp的碼率自適應(yīng)方案(sdpdash)。我們?cè)O(shè)置位于中國(guó)香港的一個(gè)planetlab節(jié)點(diǎn)為dash服務(wù)器(plab1.cs.ust.hk),以及位于中國(guó)北京的另一個(gè)planetlab節(jié)點(diǎn)為dash客戶(hù)端(p11.pku.edu.cn)。我們?cè)诜?wù)器和客戶(hù)端之間沒(méi)有注入任何背景業(yè)務(wù)。
我們按順序進(jìn)行不同實(shí)驗(yàn),其中,帶寬模式不是可控的。圖7(c)中的結(jié)果顯示mdash能夠良好地適應(yīng)時(shí)變網(wǎng)絡(luò)條件,并且導(dǎo)致平滑視頻碼率,而不造成緩沖區(qū)溢出/下溢或播放中斷。與之對(duì)比,bufdash的視頻碼率頻繁向上切換和向下切換以使得緩沖區(qū)占用率保持在安全范圍內(nèi),以避免緩沖區(qū)溢出/下溢。此外,sdpdash也導(dǎo)致大幅波動(dòng)的視頻碼率,這是因?yàn)閟dpdash中定義的系統(tǒng)狀態(tài)和獎(jiǎng)勵(lì)功能關(guān)注于穩(wěn)定緩沖區(qū)占用率而沒(méi)有很好地控制視頻碼率的平滑性。但是,相比于緩沖區(qū)占用率變化,視頻碼率波動(dòng)對(duì)于觀看者來(lái)說(shuō)更為惱人,因此使得視覺(jué)質(zhì)量不滿(mǎn)意。
最后,我們對(duì)三個(gè)序列{肥兔子邦尼,鋼鐵之淚,以及辛特爾}進(jìn)行主觀測(cè)試。為了公平比較,使用從planetlab手機(jī)的相同帶寬軌跡來(lái)評(píng)估所有這三個(gè)方法。隨后,對(duì)于每個(gè)視頻序列,根據(jù)視頻碼率結(jié)果,我們將視頻片段組合成單個(gè)視頻文件。用于呈現(xiàn)序列的顯示器的大小是22英寸,分辨率是1920x1080,并且縱橫比是16:9。在實(shí)驗(yàn)中涉及兩個(gè)主題,均具有正常視覺(jué)和立體敏感度以及彩色視覺(jué)。如圖8中所示,與其他兩個(gè)方法相比,mdash實(shí)現(xiàn)了最高mos,mos增益高達(dá)1.05和1.23。注意,sdpdash和bufdash的差主觀視覺(jué)質(zhì)量主要是由于其大幅波動(dòng)視頻碼率。mdash的高mos已經(jīng)展示了所提出的方案在主觀用戶(hù)體驗(yàn)方面的有效性。
圖5示出了根據(jù)本發(fā)明實(shí)施例的電子設(shè)備的結(jié)構(gòu)示意圖。該電子設(shè)備可包括:下載模塊501,用于從服務(wù)器下載多個(gè)碼率版本的視頻片段中的一個(gè)碼率版本;當(dāng)前狀態(tài)獲取模塊502,用于獲取當(dāng)前狀態(tài),所述當(dāng)前狀態(tài)包括緩沖視頻片段時(shí)長(zhǎng)、緩沖視頻片段時(shí)長(zhǎng)的變化率、歷史視頻片段碼率向量、視頻片段碼率一致性函數(shù)以及帶寬;以及最佳請(qǐng)求碼率確定模塊503,用于根據(jù)所述當(dāng)前狀態(tài),確定隨后視頻片段的最佳請(qǐng)求碼率。
具體的,所述最佳請(qǐng)求碼率確定模塊503包括:
隨后狀態(tài)獲取模塊5031,用于根據(jù)所述當(dāng)前狀態(tài)和隨后視頻片段的可選碼率,獲取隨后狀態(tài)以及隨后狀態(tài)對(duì)應(yīng)的轉(zhuǎn)移概率;
獎(jiǎng)勵(lì)函數(shù)計(jì)算模塊5032,用于根據(jù)所述隨后狀態(tài),計(jì)算所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù);
長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)計(jì)算模塊5033,用于根據(jù)所述隨后狀態(tài)、所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)以及轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù);以及
獎(jiǎng)勵(lì)最大化模塊5034,用于確定使得所述長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)最大化的隨后視頻片段的碼率為所述隨后視頻片段的最佳請(qǐng)求碼率。
具體的,所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)是分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用關(guān)聯(lián)的獎(jiǎng)勵(lì)的加權(quán)平均。
所述獎(jiǎng)勵(lì)函數(shù)計(jì)算模塊5032可具體用于:
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)高于高緩沖區(qū)閾值,則根據(jù)第一公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì);
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)低于低緩沖區(qū)閾值,則根據(jù)第二公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì);
否則,根據(jù)第三公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì)。
具體的,所述長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)計(jì)算模塊5033具體用于:
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)高于高緩沖區(qū)閾值或者低于低緩沖區(qū)閾值,則根據(jù)下一隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)及其轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù);
否則,根據(jù)下一隨后狀態(tài)以及再下一隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)以及這兩個(gè)隨后狀態(tài)對(duì)應(yīng)的轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)。
可選的,所述電子設(shè)備還包括:
請(qǐng)求模塊504,用于根據(jù)所述確定的隨后視頻片段的最佳請(qǐng)求碼率,請(qǐng)求下載隨后視頻片段。
可選的,所述服務(wù)器是dash服務(wù)器。
本發(fā)明實(shí)施例提供了一種電子設(shè)備,通過(guò)考慮緩沖視頻片段時(shí)長(zhǎng)、緩沖視頻片段時(shí)長(zhǎng)的變化率、歷史視頻片段碼率向量、視頻片段碼率一致性函數(shù)以及帶寬等狀態(tài)參數(shù),并根據(jù)這些參數(shù)來(lái)確定隨后視頻片段的最佳請(qǐng)求碼率,可以更好地反映主觀和客觀的視覺(jué)質(zhì)量。通過(guò)根據(jù)緩沖視頻片段時(shí)長(zhǎng)來(lái)計(jì)算獎(jiǎng)勵(lì)函數(shù),使得獎(jiǎng)勵(lì)函數(shù)對(duì)于不同的緩沖區(qū)占用場(chǎng)景是動(dòng)態(tài)變化的。通過(guò)采用次優(yōu)算法,降低了計(jì)算復(fù)雜度,提高了計(jì)算效率。
圖6示出了根據(jù)本發(fā)明實(shí)施例的電子設(shè)備的結(jié)構(gòu)示意圖。如圖6所示,該電子設(shè)備包括存儲(chǔ)器601、發(fā)送/接收模塊602以及與存儲(chǔ)器601、發(fā)送/接收模塊602連接的處理器603,其中存儲(chǔ)器601存儲(chǔ)有一組程序代碼,處理器603調(diào)用存儲(chǔ)器601存儲(chǔ)的程序代碼用于執(zhí)行以下步驟:
從服務(wù)器下載多個(gè)碼率版本的視頻片段中的一個(gè)碼率版本;
獲取當(dāng)前狀態(tài),所述當(dāng)前狀態(tài)包括緩沖視頻片段時(shí)長(zhǎng)、緩沖視頻片段時(shí)長(zhǎng)的變化率、歷史視頻片段碼率向量、視頻片段碼率一致性函數(shù)以及帶寬;以及
根據(jù)所述當(dāng)前狀態(tài),確定隨后視頻片段的最佳請(qǐng)求碼率。
具體的,處理器603調(diào)用存儲(chǔ)器601存儲(chǔ)的程序代碼用于執(zhí)行以下步驟:
根據(jù)所述當(dāng)前狀態(tài)和隨后視頻片段的可選碼率,獲取隨后狀態(tài)以及隨后狀態(tài)對(duì)應(yīng)的轉(zhuǎn)移概率;
根據(jù)所述隨后狀態(tài),計(jì)算所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù);
根據(jù)所述隨后狀態(tài)、所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)以及轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù);以及
確定使得所述長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)最大化的隨后視頻片段的碼率為所述隨后視頻片段的最佳請(qǐng)求碼率。
具體的,所述隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)可以是分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì)的加權(quán)平均。
具體的,處理器603調(diào)用存儲(chǔ)器601存儲(chǔ)的程序代碼用于執(zhí)行以下步驟:
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)高于高緩沖區(qū)閾值,則根據(jù)第一公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì);
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)低于低緩沖區(qū)閾值,則根據(jù)第二公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì);
否則,根據(jù)第三公式集合計(jì)算分別與平均視頻片段碼率、視頻片段碼率的時(shí)域方差、緩沖區(qū)溢出/下溢以及緩沖區(qū)占用率關(guān)聯(lián)的獎(jiǎng)勵(lì)。
具體的,處理器603調(diào)用存儲(chǔ)器601存儲(chǔ)的程序代碼用于執(zhí)行以下步驟:
如果所述隨后狀態(tài)中的緩沖視頻片段時(shí)長(zhǎng)高于高緩沖區(qū)閾值或者低于低緩沖區(qū)閾值,則根據(jù)下一隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)及其轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù);
否則,根據(jù)下一隨后狀態(tài)以及再下一隨后狀態(tài)對(duì)應(yīng)的獎(jiǎng)勵(lì)函數(shù)以及這兩個(gè)隨后狀態(tài)對(duì)應(yīng)的轉(zhuǎn)移概率,計(jì)算長(zhǎng)期獎(jiǎng)勵(lì)函數(shù)。
可選的,處理器603調(diào)用存儲(chǔ)器601存儲(chǔ)的程序代碼用于執(zhí)行以下步驟:
根據(jù)所述確定的隨后視頻片段的最佳請(qǐng)求碼率,請(qǐng)求下載隨后視頻片段。
可選的,處理器603調(diào)用存儲(chǔ)器601存儲(chǔ)的程序代碼用于執(zhí)行以下步驟:重復(fù)執(zhí)行上述步驟直到視頻片段序列下載結(jié)束。
可選的,所述服務(wù)器是dash服務(wù)器。
本發(fā)明實(shí)施例提供了一種電子設(shè)備,通過(guò)考慮緩沖視頻片段時(shí)長(zhǎng)、緩沖視頻片段時(shí)長(zhǎng)的變化率、歷史視頻片段碼率向量、視頻片段碼率一致性函數(shù)以及帶寬等狀態(tài)參數(shù),并根據(jù)這些參數(shù)來(lái)確定隨后視頻片段的最佳請(qǐng)求碼率,可以更好地反映主觀和客觀的視覺(jué)質(zhì)量。通過(guò)根據(jù)緩沖視頻片段時(shí)長(zhǎng)來(lái)計(jì)算獎(jiǎng)勵(lì)函數(shù),使得獎(jiǎng)勵(lì)函數(shù)對(duì)于不同的緩沖區(qū)占用場(chǎng)景是動(dòng)態(tài)變化的。通過(guò)采用次優(yōu)算法,降低了計(jì)算復(fù)雜度,提高了計(jì)算效率。
上述所有可選技術(shù)方案,可以采用任意結(jié)合形成本發(fā)明的可選實(shí)施例,在此不再一一贅述。
需要說(shuō)明的是:上述實(shí)施例提供的電子設(shè)備在調(diào)整視頻碼率的方法時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的電子設(shè)備與調(diào)整視頻碼率方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過(guò)程詳見(jiàn)方法實(shí)施例,這里不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過(guò)硬件來(lái)完成,也可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。